|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
+ A, t7 g+ w) I/ b$ d* W0 {# gLinux csplit命令用于分割文件。
! K p0 r9 ~9 ^. d$ A+ K
/ V, n) y( T" {" j将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。8 J3 J# B3 ?" B( v+ \7 W
: F# f! ^1 U" ]2 f V6 {语法
0 D* F" N. k0 S! |4 {. E* i
( ?# c" u9 @* J, a5 h* V \csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
9 q- j% u% m: H[-n<输出文件名位数>][--help][--version][文件][范本样式...]
9 h. z8 X+ [8 K- k' o% N
: E; d) W3 c" g/ K; ^8 Z+ Y2 x4 r+ P
参数:
, q. x( T' ?3 f
. x9 v( s- l% o' a-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
1 F0 w' `% I7 f: N9 j" n3 F' ^# y-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。* A) g! O- @ K) ^0 I
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。4 c1 W* J8 {0 U$ e0 \4 T6 `5 o
-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。5 C A- z7 Q, \$ c; r
-q或-s或--quiet或--silent 不显示指令执行过程。( ]- h) D) y0 t0 l
-z或--elide-empty-files 删除长度为0 Byte文件。- }+ m* ~; L3 c+ [
--help 在线帮助。! T; Q: ~) M5 g; k; F% s
--version 显示版本信息。2 V" T; {- |. i! t1 m a' j
' n1 [( C6 e5 o- ~& m; [; G f
; ?' D( j- W# t* t f; k实例
& ^4 ~1 Q) [' t) k) A6 ?1 _# Q
+ W$ _/ ?+ N( @3 i0 A将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
w' V* a$ F3 ` \- e' D
+ [7 F% G4 S+ ~0 h1 Bcsplit testfile 2- ]- J" y4 K! n& e" h
) f: e5 V9 U& f* b7 o H* B" O
( Z9 A& _2 W5 Y! e8 D5 y3 Gtestfile文件中的内容如下: C/ B+ U9 Q7 I
* ]7 }* I' x6 _/ R- P$ cat testfile #查看testfile 文件内容 * P: H# K! X: d: d- I W
hello Linux! $ j6 v' O9 S$ L+ {4 i
Linux is a free Unix-type operating system. 6 @3 L/ e3 o! ]2 U5 ]( C
This is a Linux testfile! 4 b ^1 M4 }/ @7 ]! ~; h
Linux
9 N, ~8 h1 M5 g/ I- W* [+ s( G& J3 h9 \$ n- b! t5 U& G1 m
" {. S. Q+ x; R使用csplit命令,输出结果如下:, O2 x0 M) M# v8 {0 \. w
7 X) _9 Z+ V( Q, K1 h% |) C$ csplit testfile 2 " U" T$ a3 Q4 A% u+ H
13 #xx00文件字符个数 ; `1 P6 m$ E& M
76 #xx01文件字符个数 5 b7 Q9 A; ~3 ] H% H L
* O+ y" b8 _) {% W, A
# i$ q* `! U- r; N3 e2 }, [
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:
' ]! ]) v1 Y( l7 y
$ o: J; ]( t4 }$ X/ X6 t* L A. _$ cat xx00 #查看分割后的xx00文件内容
0 W. H$ g/ B* _0 E$ R5 e: v3 S/ k$ L4 W5 nhello Linux! #testfile文件第1行的内容
" I. T5 C; }3 Q% f& ?* f" t8 W# x5 _
. C, |! F) J- f/ o7 A# Y2 l
$ z6 T2 I1 i' e; i: n/ Yxx01 中的内容为:; e% P7 B: ^" U) `0 u0 d
4 I- C3 \5 m" `. E" ?! C
$ cat xx01 #查看分割后的xx01文件内容
! S8 n. p9 c6 B" j) K$ R0 {: ?Linux is a free Unix-type operating system. #testfile文件第2行以后的内容
+ C8 o3 z% G2 a+ ]# a$ y4 ]This is a Linux testfile!
2 N* o$ g$ Y0 s: n9 C* N; O. ^Linux
2 q$ t1 ^2 h4 l) [: B) z) d |
|