17370845950

linux按模式分割文件是什么-csplit命令使用与实例

Linux csplit命令

Linux系统中的csplit命令主要用于对文件进行分割操作。

该命令可以根据指定的模板样式将一个文件切割成多个小文件,并分别保存为xx00、xx01、xx02等形式的文件名。如果输入文件名为"-",表示从标准输入获取内容进行分割处理。

命令格式

csplit [-kqsz][-b][-f]
[-n][--help][--version][文件][模板样式...]

常用选项说明

  • -b或--suffix-format= 默认输出文件名为xx00,xx01...等格式,可通过此参数自定义后缀格式。
  • -f或--prefix= 用于设置输出文件的前缀,默认是xx,可以修改为你想要的字符串。
  • -k或--keep-files 即使程序中断或出错,也保留已经生成的分割文件。
  • -n或--digits= 设置输出文件编号的位数,默认是两位数(如xx00),可更改为三位或更多。
  • -q或-s或--quiet或--silent 静默模式,不显示执行过程信息。
  • -z或--elide-empty-files 自动删除空文件(大小为0字节的文件)。
  • --help 显示帮助文档。
  • --version 查看当前命令版本信息。

使用示例

以下命令将以testfile文件第2行为分隔点,将其分为两个文件:

csplit testfile 2

查看testfile文件内容如下:

$ cat testfile 
hello Linux!
Linux is a free Unix-type operating system.
This is a Linux testfile!
Linux 

执行csplit命令后的输出结果为:

$ csplit testfile 2  
13 #第一个分割文件xx00的字符数量  
76 #第二个分割文件xx01的字符数量  

执行完成后,在testfile所在目录会生成两个新文件:xx00和xx01。其中xx00的内容为:

$ cat xx00  
hello Linux! #原testfile第一行内容  

而xx01的内容为:

$ cat xx01  
Linux is a free Unix-type operating system. #testfile中第二行及之后的内容  
This is a Linux testfile!  
Linux