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

Linux csplit命令

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
+ m1 v5 ]+ Q$ _# ?4 a8 N! w: w
Linux csplit命令用于分割文件。
; v4 _& l4 ]3 }- n" T$ C
; }( v! t' D. w; G  d将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
( w8 W- d; Z0 q& h) r
- z2 e0 a/ @& G4 I5 u语法
. q& m5 ^6 c+ M
1 V/ V/ J3 N% h! D, |9 C! _6 ~csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]: b1 P) V# Z- u8 ?( z2 ^
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
. Y# O) c. o# G" f7 R8 b( t+ ^" ^8 t9 S4 q7 q5 j" U! `# U

! |! I5 B: F# O. C1 n9 W- h3 |) }参数:9 \2 Z4 h; Y5 S( e2 o1 E- x6 ]# y

6 Y) Q% n* R' J! r-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
4 U: u8 ~$ _, f. S( w2 n-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。0 X& m2 e. b; K
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
& {- L& V" ^% k4 c8 f-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。) B$ h) L4 d1 e% C
-q或-s或--quiet或--silent 不显示指令执行过程。1 `, O9 T" U: q1 W* y
-z或--elide-empty-files 删除长度为0 Byte文件。
  z3 P6 T/ T1 [, a! q1 ^& O--help 在线帮助。
! O( M# w; ]7 t& I( |$ a) Z--version 显示版本信息。- N; ^' L) u0 t* f) ?( }6 P& ?5 i( b

% n+ P6 j$ x  \$ t8 E2 e& `3 A: E" u! [1 n; I. d/ ~0 I3 ^
实例
: y# D2 w" H$ P* x6 S: [5 U- h7 c+ z5 n4 R
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
& x4 {( B0 i3 |. e: ?* w2 {( A* a
csplit testfile 2& d+ [. v" B, f+ W

- @8 x  e, E! b. C5 q
  B6 w1 P" O% W( V. ptestfile文件中的内容如下:  ~0 d0 ]% _( @1 x
6 J2 G7 Q5 E' s* w9 C
$ cat testfile #查看testfile 文件内容  ! ^& l. H" l2 b1 e% x6 ^
hello Linux!  ( [( }0 a% z# f, T4 ~
Linux is a free Unix-type operating system.  
) l8 R( K+ p* i! q( j% Y% s+ U' TThis is a Linux testfile!  
. {7 y/ I  P8 }0 S# E4 i5 PLinux ( N2 S& P$ p" g6 s2 s$ u/ Y+ r! O

5 q) R: U# K4 n0 ?9 `
5 o6 o4 B9 J, n使用csplit命令,输出结果如下:8 ~; N7 V- l$ k

7 F  c: ], \0 ]' j, ^& b$ csplit testfile 2  
* N& p: b2 O" E- y5 _13 #xx00文件字符个数  
0 {+ f& _# ?8 R; j- ~) D" t3 G6 I76 #xx01文件字符个数  # k) ?- H; J+ u2 ^
5 X2 Q, X4 ~5 v4 f5 p0 s
2 J6 v  V/ T/ Y- H
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:
* g! Z* Z, H) o. k. U/ B/ U
) B  U% W% C9 L1 d2 V& L. c0 O' i$ cat xx00 #查看分割后的xx00文件内容  
: s9 P, U) G1 |2 _4 Shello Linux! #testfile文件第1行的内容 ; G7 ~4 I+ @8 U0 P
, L2 R: d% @6 s: s
: S. S! ?8 X# V
xx01 中的内容为:
: C; j# \" h! q# g0 G
5 f2 H/ ]- y6 e8 j5 Q$ cat xx01 #查看分割后的xx01文件内容  
* x, s) K. |- d- M" _5 s' X/ QLinux is a free Unix-type operating system. #testfile文件第2行以后的内容  + q7 u& F/ q! C0 ?6 p
This is a Linux testfile!  
8 k3 N) f( A$ K- k" K0 xLinux 8 f$ ~9 v# U* ?' ]' X

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 03:22 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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