Linux:split命令详解

时间:2021-07-31 23:20:31

split

可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志

语法

split(选项)(file)PREFIX

 

选项

 

-b:值为每一输出档案的大小,单位为 byte-C:每一输出档中,单行的最大 byte 数。

-d:使用数字作为后缀。

-l:值为每一输出档的列数大小。

PREFIX:代表前导符,可作为切割文件的前导文件。

 

实例

生成一个大小为100KB的测试文件:

 

dd if=/dev/zero bs=100k count=1 of=date.file
结果:
1+0 records in
1+0 records out
102400 bytes (102 kB) copied, 0.00043 seconds, 238 MB/s

 

使用split命令将上面创建的date.file文件分割成大小为10KB的小文件:

split -b 10k date.file

ls
结果:
date.file xaa xab xac xad xae xaf xag xah xai xaj

 

文件被分割成多个带有字母的后缀文件,如果想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度:

split -b 10k date.file -d -a 3

 ls
结果:
date.file x000 x001 x002 x003 x004 x005 x006 x007 x008 x009

 

为分割后的文件指定文件名的前缀:

split -b 10k date.file -d -a 3 split_file

 ls
结果:
date.file split_file000 split_file001 split_file002 split_file003 split_file004 split_file005 split_file006 split_file007 split_file008 split_file009

 

使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

split -l 10 date.file

 

PS

 cat x*>>y*

 

 将split分割的文件合并成一个