|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 d% K& \" h+ v5 L1 YLinux csplit命令用于分割文件。* H6 `' g. T4 d& X5 _9 E
: m9 h E8 X8 t& F; M7 d8 y; ]/ f
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。3 h1 D3 f# m0 t1 b+ l
' ~5 `6 j. I3 X/ y2 X
语法# g' N2 ~& g$ x" L! |$ Y
6 i+ w; k8 I j' ` C) Vcsplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
' d) N* s& F& C[-n<输出文件名位数>][--help][--version][文件][范本样式...] + I7 C9 ^- j0 T
! q! K# p* o' {. W9 y7 n$ T& t4 @/ R/ m6 `- T
参数:5 T% y# s7 {( B( G3 x1 V
% g3 s; Z6 J8 k: o) y-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。8 H' ^3 B( ~) B2 n
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。
. h+ U& W; [: | U2 B( o4 a-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。, K; p' y4 \- u! X9 v( [( `: \
-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。
' O8 X' x5 p+ J# @3 F/ \-q或-s或--quiet或--silent 不显示指令执行过程。0 m, q0 p" X3 s/ @" M) ?, k8 Y, g `
-z或--elide-empty-files 删除长度为0 Byte文件。
4 w" \$ d: Q. A0 ]- w& C) W--help 在线帮助。
, ?0 O$ w- q, o) X% g! ]" m. T5 E--version 显示版本信息。- O# G4 R! }- e0 {6 |8 ~
6 [: ~" F7 C2 S3 L6 Y8 F1 A
( n, h% D+ `6 Z2 E2 g5 E实例4 [: G$ L3 \" H; t
4 l$ u) q4 [! i
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
' c8 X3 M8 @: N0 r Q& [
5 f3 J- b0 a- H2 }4 C' p7 \csplit testfile 20 x" }/ C. ]: C. x5 e3 n
- O+ @1 \2 n1 ~) Y2 Y# ^# x+ _9 O9 M5 H$ W
testfile文件中的内容如下:
1 U G# U" c" f7 `$ P _3 G& g" m4 W- y: B3 R4 v/ e) _0 _
$ cat testfile #查看testfile 文件内容
9 B$ n/ i/ P- r- t* Uhello Linux! . w! Q* \' c: v' b' X' E. w$ T: w' P
Linux is a free Unix-type operating system.
8 N& d9 [: n) BThis is a Linux testfile! ) v( a; m; ^9 v/ E; X0 ?
Linux
2 {% w, p+ @! u9 G4 k! @
' q+ P, Z' u' s0 z. y3 K0 Q2 [1 z4 `+ S/ s# F
使用csplit命令,输出结果如下:
# X5 d0 Q7 H; h. q1 ]) Q; ]. i V
$ csplit testfile 2
1 _+ k& e* U' U4 S13 #xx00文件字符个数 3 K2 d. n. f8 L
76 #xx01文件字符个数 : a }: N* k( a
/ j9 Q N4 @9 w9 j6 L) [( m
- `+ y* w2 P, h其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:
! m4 F8 r0 `. T( p+ f
0 A, l; }* ~. h) b( @6 J, `$ cat xx00 #查看分割后的xx00文件内容 0 O% i" f1 V. N9 v8 y2 d& |
hello Linux! #testfile文件第1行的内容 9 F- }0 v2 C1 @- x2 z$ K3 q/ e: C
+ V0 I8 u3 M0 U8 ]' x4 d: ?7 `
' M4 J. I: l9 ?( n, J4 {" `
xx01 中的内容为:
* G% [9 |6 r! A) i: I' c' t
! \! R. K I" F8 M9 E" T$ cat xx01 #查看分割后的xx01文件内容
6 U; k, b, T. G4 H- }1 MLinux is a free Unix-type operating system. #testfile文件第2行以后的内容
0 \$ u) R7 G9 g% @( o' V- Y# b6 A7 ?This is a Linux testfile! ; E X, V# C* f7 i( V7 }' \
Linux ' |$ A. @4 Y- |, O9 V
|
|