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

Linux csplit命令

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
# F/ ?1 g2 B% F8 u# a
Linux csplit命令用于分割文件。
8 P" l- E3 j* P& _9 S6 k  G1 f& M$ q' Z' Y+ c2 m
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。- b! ^! z  V# d1 O9 Q$ z

& K  A1 @. z( I; g) |. W( G% E3 i语法
" Z. ?4 U# e1 j1 \/ w& B; e' c8 g( {% ?
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
0 ]; N. f5 h1 V# Z9 e7 [[-n<输出文件名位数>][--help][--version][文件][范本样式...] / f/ Q; T7 `% y' {: J
9 H" o) a$ S7 G1 A. O: U' q+ r: a
% V9 @; b" `' M% O6 b
参数:
$ _  Q; H3 w! t4 `7 S1 G. c, V, m/ j# F) C4 r4 ?9 {
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。) g) D9 D4 O4 ?' j, L7 s
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。, \6 a# H+ T: T, u% n6 }
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
8 W% v9 J2 v- d2 m% s-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。- c& Y4 \9 X) C; }
-q或-s或--quiet或--silent 不显示指令执行过程。+ c- l. X) s  f5 k4 R) K
-z或--elide-empty-files 删除长度为0 Byte文件。
$ u% D# A7 k7 \. {" K--help 在线帮助。
" V) I- p# e0 x& K--version 显示版本信息。
# I" `/ `1 e/ z+ E$ i. h
* g( h: E7 B$ k" M# B: p% a: U) P, r
实例* }# x( S+ t# a, {' a* D) F7 t
! m2 ~8 @2 I7 Y) e
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
) f  x' O: `& l- ~# D) r/ A, S1 j5 n2 F, V1 E! v& _7 F) g
csplit testfile 2+ x& q, f+ k. A
& t& Y5 q% N2 H7 |4 E  [2 ~* A
  f$ W4 G2 Z1 A" N9 H
testfile文件中的内容如下:! a' C8 p/ F: g9 v/ P/ |  f
. V9 t. N+ ?: T" O4 ~3 ]" y
$ cat testfile #查看testfile 文件内容  
1 p/ F/ j* q3 ^. B7 S, ~. bhello Linux!  
, K/ u5 b4 m* C3 g, Z1 WLinux is a free Unix-type operating system.  
6 p  y8 r& L7 ~, YThis is a Linux testfile!  
( @% c: d! ^/ B# f! c; B5 K4 v' YLinux
" \3 N+ Q3 Q5 n& u) `8 o" E
2 c$ N7 N9 D" ?7 O) U/ |; D5 X9 e
使用csplit命令,输出结果如下:* a7 @: T; V8 x; L5 }4 q- Y; C
8 o9 R- E5 Y: s$ n2 ]- Y
$ csplit testfile 2  7 A0 K" n- p7 v7 Q" V+ q
13 #xx00文件字符个数  
  d& y# h. l! F3 N# P# |76 #xx01文件字符个数  
( O4 l7 F( ^/ v: p8 v5 T9 S8 z; E5 z/ p, g
5 y2 l4 Z, B2 K6 v* z. E
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:, F9 [* a4 W6 G, \2 h6 ?/ c
2 C( n# u7 ^/ i
$ cat xx00 #查看分割后的xx00文件内容  
- U6 E6 [3 O0 U' z3 |5 Jhello Linux! #testfile文件第1行的内容 . p3 b! d4 o6 l8 G$ A
7 \4 [* x& h" s; }  C4 `
- L# s6 }* d$ W0 W
xx01 中的内容为:
9 T  n1 h( \( Z, O% P% O
! O( K' K% r( _0 |' {* y8 Z$ cat xx01 #查看分割后的xx01文件内容  
8 [7 F. {4 q2 i7 R; F" jLinux is a free Unix-type operating system. #testfile文件第2行以后的内容  5 k& H7 F5 j- ^- ?  P, j. Z4 ?
This is a Linux testfile!  
) u4 q* D! Z+ N+ bLinux ) x% j4 Z, i& f0 A1 F/ |

该用户从未签到

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 01:49 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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