找回密码
 注册
关于网站域名变更的通知
查看: 659|回复: 3
打印 上一主题 下一主题

Linux csplit命令

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-8 18:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2021-9-8 18:46 | 只看该作者
Linux csplit命令用于分割文件

该用户从未签到

3#
发表于 2021-9-8 18:47 | 只看该作者
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据

该用户从未签到

4#
发表于 2021-9-8 18:47 | 只看该作者
Linux csplit命令用于分割文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 00:55 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表