|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% q% |# O& S. K
Linux csplit命令用于分割文件。
$ B0 F! G/ K& O+ g* v
& R8 X ]/ p9 ?) D( Q$ T4 ~- Q将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。0 S: @, S( T: q; m: c8 H7 l
; q' D) H+ H- N1 g @/ Y语法
- I' p* p1 M( h& x+ _
a" s1 I) p5 J0 M3 ocsplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
b* `, `6 p& { p9 T4 `; c[-n<输出文件名位数>][--help][--version][文件][范本样式...] 6 ^; y) M/ V0 Q& F1 n8 ?9 t' h
6 [* _3 W- r% G0 P% T) T, S9 u3 d" X8 U
; G0 G' U7 g/ E1 b: Y1 G
参数:) _. ^& L$ }. V
( N) }/ J I, K
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
O/ g2 `4 S) b! Z$ ]-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。
1 i" J9 |: `+ Y5 Y2 C7 @9 _-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
3 k# j1 c& \& A-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。1 g5 T% a* V7 I. R' |
-q或-s或--quiet或--silent 不显示指令执行过程。
' F6 X& q' X% N-z或--elide-empty-files 删除长度为0 Byte文件。& ], j" s: r# Y$ Y% a
--help 在线帮助。$ g4 S3 w2 S; i% h8 N
--version 显示版本信息。
! y5 {# g4 v" `9 o1 S. a
: w2 z( p- m! L: j9 Z1 g7 H
$ Z/ H0 V: |3 m. ?/ L! j+ L实例
2 j8 k4 K- b% U. M: K0 S; B7 z( Z k) f
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
; G6 t: r- l) ]' M* h7 F+ A* @) t6 l S& b9 u+ J* r+ y- T/ V0 m$ J
csplit testfile 2
D6 g5 a7 I7 H# I5 v
" y1 r% |4 m/ X; B; P! B/ o+ O! a8 _2 N! q! Y a
testfile文件中的内容如下:6 N- X* j/ c0 f
1 L, s7 o1 }; _5 J
$ cat testfile #查看testfile 文件内容
' {/ O% [* H# x% vhello Linux! ( u& E+ X) R+ C# Y: a4 I; r
Linux is a free Unix-type operating system.
- Z0 V z- S- BThis is a Linux testfile!
/ k0 y" t! H" z" L8 X+ ILinux & ]; V0 c' ^4 f; R! w" j
. s- Q# ^2 `" `" e
3 k1 x2 x5 Z9 {8 `
使用csplit命令,输出结果如下:* m+ i1 c0 S/ \* D: t6 S
8 ~& q& ]3 M' p' s7 v$ csplit testfile 2 R9 S/ t) s W1 I, z, u. E0 a* G
13 #xx00文件字符个数
' i( U5 ? O0 P+ r9 D76 #xx01文件字符个数
& P& S; H9 }+ y* I/ {- S# h6 O9 Y4 Q$ }; K- k- t
$ k8 h- m$ G6 o4 {7 W7 G: F# ~
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:
# M% K1 p: ?, U* w5 t& _5 g0 c C3 f
$ cat xx00 #查看分割后的xx00文件内容 0 C3 i4 X5 d) B2 C- x! u
hello Linux! #testfile文件第1行的内容 : c3 k" p5 N8 t3 e. @: ?, ?% Y
* G4 K5 ]5 t1 Y" e
2 I! |& v4 b. |$ F# U" s8 @" n9 gxx01 中的内容为:; x! ?: z) m: L8 J3 h
4 B: w/ G6 j( e/ I) @% y# ]
$ cat xx01 #查看分割后的xx01文件内容
8 K* c# S; K$ l( s& V8 D8 i6 g1 |Linux is a free Unix-type operating system. #testfile文件第2行以后的内容
8 x; t6 v5 U5 l! C* OThis is a Linux testfile!
`0 N( }& G& m( h4 t0 ~! X$ ?Linux 6 W% w$ _2 Y1 W$ a5 N" d- y3 v
|
|