|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
# F/ ?1 g2 B% F8 u# a
Linux csplit命令用于分割文件。
8 P" l- E3 j* P& _9 S6 k G1 f& M$ q' Z' Y+ c2 m
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。- b! ^! z V# d1 O9 Q$ z
& K A1 @. z( I; g) |. W( G% E3 i语法
" Z. ?4 U# e1 j1 \/ w& B; e' c8 g( {% ?
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
0 ]; N. f5 h1 V# Z9 e7 [[-n<输出文件名位数>][--help][--version][文件][范本样式...] / f/ Q; T7 `% y' {: J
9 H" o) a$ S7 G1 A. O: U' q+ r: a
% V9 @; b" `' M% O6 b
参数:
$ _ Q; H3 w! t4 `7 S1 G. c, V, m/ j# F) C4 r4 ?9 {
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。) g) D9 D4 O4 ?' j, L7 s
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。, \6 a# H+ T: T, u% n6 }
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
8 W% v9 J2 v- d2 m% s-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。- c& Y4 \9 X) C; }
-q或-s或--quiet或--silent 不显示指令执行过程。+ c- l. X) s f5 k4 R) K
-z或--elide-empty-files 删除长度为0 Byte文件。
$ u% D# A7 k7 \. {" K--help 在线帮助。
" V) I- p# e0 x& K--version 显示版本信息。
# I" `/ `1 e/ z+ E$ i. h
* g( h: E7 B$ k" M# B: p% a: U) P, r
实例* }# x( S+ t# a, {' a* D) F7 t
! m2 ~8 @2 I7 Y) e
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
) f x' O: `& l- ~# D) r/ A, S1 j5 n2 F, V1 E! v& _7 F) g
csplit testfile 2+ x& q, f+ k. A
& t& Y5 q% N2 H7 |4 E [2 ~* A
f$ W4 G2 Z1 A" N9 H
testfile文件中的内容如下:! a' C8 p/ F: g9 v/ P/ | f
. V9 t. N+ ?: T" O4 ~3 ]" y
$ cat testfile #查看testfile 文件内容
1 p/ F/ j* q3 ^. B7 S, ~. bhello Linux!
, K/ u5 b4 m* C3 g, Z1 WLinux is a free Unix-type operating system.
6 p y8 r& L7 ~, YThis is a Linux testfile!
( @% c: d! ^/ B# f! c; B5 K4 v' YLinux
" \3 N+ Q3 Q5 n& u) `8 o" E
2 c$ N7 N9 D" ?7 O) U/ |; D5 X9 e
使用csplit命令,输出结果如下:* a7 @: T; V8 x; L5 }4 q- Y; C
8 o9 R- E5 Y: s$ n2 ]- Y
$ csplit testfile 2 7 A0 K" n- p7 v7 Q" V+ q
13 #xx00文件字符个数
d& y# h. l! F3 N# P# |76 #xx01文件字符个数
( O4 l7 F( ^/ v: p8 v5 T9 S8 z; E5 z/ p, g
5 y2 l4 Z, B2 K6 v* z. E
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:, F9 [* a4 W6 G, \2 h6 ?/ c
2 C( n# u7 ^/ i
$ cat xx00 #查看分割后的xx00文件内容
- U6 E6 [3 O0 U' z3 |5 Jhello Linux! #testfile文件第1行的内容 . p3 b! d4 o6 l8 G$ A
7 \4 [* x& h" s; } C4 `
- L# s6 }* d$ W0 W
xx01 中的内容为:
9 T n1 h( \( Z, O% P% O
! O( K' K% r( _0 |' {* y8 Z$ cat xx01 #查看分割后的xx01文件内容
8 [7 F. {4 q2 i7 R; F" jLinux is a free Unix-type operating system. #testfile文件第2行以后的内容 5 k& H7 F5 j- ^- ? P, j. Z4 ?
This is a Linux testfile!
) u4 q* D! Z+ N+ bLinux ) x% j4 Z, i& f0 A1 F/ |
|
|