linux split

2018-05-21  本文已影响0人  April_Luv_Choco

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

-b:值为每一输出档案的大小,单位为 byte。

-C:每一输出档中,单行的最大 byte 数。

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

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

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

#dd if=/dev/zero bs=100k count=1 of=date.file

该命令创建了一个1M大小的文件sun.txt,其中参数解释:

if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。

of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。

bs 代表字节为单位的块大小。

count 代表被复制的块数。

/dev/zero 是一个字符设备,会不断返回0值字节(\0)。

使用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

上一篇下一篇

猜你喜欢

热点阅读