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

Linux csplit命令

[复制链接]

该用户从未签到

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

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

该用户从未签到

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-8-12 13:03 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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