|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
. x& D5 r# l9 y, e2 XLinux csplit命令用于分割文件。1 z. K# i0 E' P% Y1 D
2 M; [6 b& I9 x
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
1 x$ s9 N' i) s* v" B9 R: \5 S5 ]
语法
5 J5 `8 t3 z3 E! _" w% O3 \( R& }7 ~% g$ h- j
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]" [; l$ i! n4 N6 c5 X0 _- r
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
0 N' z3 |' a) q$ [4 o, \; A
3 ]" W$ k$ B5 e' F9 {2 K1 h; I2 Z. i, u2 O3 E- m
参数:
8 |$ i3 j2 y- l# G+ [4 M1 V2 _
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。7 h5 M6 m. V' o( h
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。/ `8 {* ^7 l) i+ w$ N) L
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。 p7 r: R/ {# L0 ?3 G
-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。
# A( o8 E; K* B# G+ V7 ~-q或-s或--quiet或--silent 不显示指令执行过程。
% F7 B* |+ l2 Z ^2 Z-z或--elide-empty-files 删除长度为0 Byte文件。
1 d' o+ X" _/ B/ R' Z8 g- I: r--help 在线帮助。; h1 j+ N; i/ o9 c' e
--version 显示版本信息。 c! W/ g& @. _8 X1 g* J
! _- C* N9 u0 ^
3 U9 @8 O/ |3 m' [; I$ g! u p' H6 {实例4 n8 H: @) [( o7 Y
5 X3 x/ H ~( k3 Q5 Y. H% |将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:1 K4 K3 O0 r4 v' h. r2 K% P9 {5 R2 H/ L
8 ?* ]% [1 c7 O; f* ?
csplit testfile 2
5 a d4 V. q+ r! h# ?' o
1 ?( h: y, t: i( ?9 o
, `' i$ M' N7 A0 a5 Stestfile文件中的内容如下:
8 S* _1 I; p6 m7 t7 u& Y2 S0 F, k
$ cat testfile #查看testfile 文件内容
+ f" Q V! ]/ V8 N jhello Linux! & {2 f2 o2 Z% W
Linux is a free Unix-type operating system. % s* i8 v- c7 l. L2 h
This is a Linux testfile!
/ I; v5 ]# f4 H- B7 [! z! u4 uLinux K: j' W t# Z
' ~ Z: E* t, p- u: L/ i
* ?: R5 G9 X3 n/ ]! e使用csplit命令,输出结果如下:
7 S1 `$ W' c8 b* v+ Z2 W8 h- p& z
0 w' W" i$ a& v$ \0 I$ csplit testfile 2 $ r1 K8 E3 R4 b
13 #xx00文件字符个数 . X0 s' ]# T0 X/ n
76 #xx01文件字符个数 0 G* R/ c. z2 ^9 m# c( `0 E
' h. D6 c8 I. P* s7 `* a# X1 l5 q
' \6 |3 q" ^: m% ?
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:8 d0 S4 ]) G x' \: H- M
3 e3 T4 L" i+ F9 J$ cat xx00 #查看分割后的xx00文件内容 # Z7 D& i4 X9 @% j: X: c
hello Linux! #testfile文件第1行的内容 8 a" ~( O+ d9 N0 ^, m0 ~ x
# d& \, F a. S5 [) n4 @- {5 z1 o# s0 `
xx01 中的内容为:
" ? y. J/ v* R+ w& `* Z7 M* |, u: a c
$ cat xx01 #查看分割后的xx01文件内容
' B. Y/ d( d7 Y# G* u8 rLinux is a free Unix-type operating system. #testfile文件第2行以后的内容
. f3 _: C E& f/ y' {* g: HThis is a Linux testfile!
' I: E, q6 ^1 |6 ?4 f- FLinux & T8 P1 E! n) B5 U4 Q
|
|