橘子味的心
标题:Linux shell csplit 命令

Linux shell csplit 命令用于分割文件。

将文件依照指定的范本样式予以切割后,分别保存成名称为 xx00,xx01,xx02... 的文件。

若给予的文件名称为 -,则 csplit 命令会从标准输入设备读取数据。

csplit 命令语法格式

csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...]

参数

-b<输出格式> , --suffix-format=<输出格式>
预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
-f<输出字首字符串> , --prefix=<输出字首字符串>
预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等
-k , --keep-files
保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件
-n<输出文件名位数> , --digits=<输出文件名位数>
预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等
-q , -s , --quiet , --silent
不显示指令执行过程。
-z , --elide-empty-files
删除长度为0 Byte文件
--help
在线帮助
--version
显示版本信息

范例

将文本文件 testfile 以第 2 行为分界点切割成两份

csplit testfile 2

testfile 文件中的内容如下:

[root@localhost ~]# cat testfile
Hello 简单教程!
Hello World!  
Linux is a free Unix-type operating system.  
This is a Linux testfile!  
Linux

使用 csplit 命令,输出结果如下:

[root@localhost ~]# csplit testfile 2  
20 #xx00文件字符个数  
95 #xx01文件字符个数

其中第 1 行是第一个文件 xx00 的字符个数,同样,第 2 行为第二个文件 xx01的字符个数。 同时,在 testfile 的同目录下将生成两个文件,文件名分别为 xx00xx01

xx00 中的内容为:

[root@localhost ~]# cat xx00   #  查看分割后的 xx00 文件内容
Hello 简单教程!                 #  testfile 文件第 1 行的内容

xx01 中的内容为:

[root@localhost ~]# cat xx01      # 查看分割后的 xx01 文件内容
Hello World!                      # testfile 文件第 2 行以后的内容 
Linux is a free Unix-type operating system.
This is a Linux testfile!
Linux

返回上一级

目录

分类