实例一、以每一个文件1000行分割
split命令分割文件成每一个文件1000行,而且文件名依次为 [前缀]aa, [前缀]ab, [前缀]ac等,默认的前缀是X,每一个文件的行数为1000行,命令以下: 服务器
- $ split mylog
- $ wc -l *
- 4450 mylog
- 1000 xaa
- 1000 xab
- 1000 xac
- 1000 xad
- 450 xae
实例二、以每一个文件20MB分割
分割文件为多个20MB的文件,附带-b选项命令以下: 测试
- $ split -b 20M logdata
- $ ls -lh | tail -n +2
- -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
- -rw------- 1 sathiya sathiya 20M Jul 25 19:20 xaa
- -rw------- 1 sathiya sathiya 20M Jul 25 19:20 xab
- -rw------- 1 sathiya sathiya 20M Jul 25 19:20 xac
- -rw------- 1 sathiya sathiya 20M Jul 25 19:20 xad
实例三、以每一个文件50MB指定前缀分割
使用–bytes选项把文件分割成多个50MB的文件,–bytes相似-b选项,在第二个参数指定前缀。 spa
- $ split --bytes=50M logdata mydatafile
- $ ls -lh
- total 204M
- -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
- -rw------- 1 sathiya sathiya 50M Jul 25 19:23 mydatafileaa
实例四、基于行数分割文件
使用-l选项指定行数来把文件分割成多个行数相同的文件。 it
- $ wc -l testfile
- 2591 testfile
- $ split -l 1500 testfile importantlog
- $ wc -l *
- 1500 importantlogaa
- 1091 importantlogab
- 2591 testfile
实例五、以数字后缀命名分割文件
使用-d选项能够指定后缀为数字,如00,01,02..,而不是aa,ab,ac。 test
- $ split -d testfile
- $ ls
- testfile x00 x01 x02
可用选项
短选项长选项选项描述-b–bytes=SIZESIZE 值为每一输出档案的大小,单位为 byte。-C–line-bytes=SIZE每一输出档中,单行的最大 byte 数。-d–numeric-suffixes使用数字做为后缀。-l–lines=NUMBERNUMBER 值为每一输出档的列数大小。 import
测试的时候发现-b 选项老提示出错,没查什么缘由,改为--bytes=20000000 了 file
另外能够复合使用这些选项 好比 im
split -d --bytes=20000000 testfile aaa_ 命名
这样出来的文件是 数据
aaa_00,aaa_01,…… aaa_...