使用split分割文件

首先我们生成一个1M的文件

[root@mio-test temp]# dd if=/dev/zero bs=10KB count=100 of=big_file

100+0 records in

100+0 records out

1000000 bytes (1.0 MB) copied, 0.00289198 s, 346 MB/s

分割文件

我们把这个文件分割成5个文件

[root@mio-test temp]# split -b 200KB big_file 
[root@mio-test temp]# ll
total 1960
-rw-r--r-- 1 root root 1000000 Aug 21 18:00 big_file
-rw-r--r-- 1 root root  200000 Aug 21 18:01 xaa
-rw-r--r-- 1 root root  200000 Aug 21 18:01 xab
-rw-r--r-- 1 root root  200000 Aug 21 18:01 xac
-rw-r--r-- 1 root root  200000 Aug 21 18:01 xad
-rw-r--r-- 1 root root  200000 Aug 21 18:01 xae

-d 使用数字作为后缀

-a 指定后缀长度

[root@mio-test temp]# split -b 200KB -d -a 5 big_file 
[root@mio-test temp]# ll
total 1960
-rw-r--r-- 1 root root 1000000 Aug 21 18:00 big_file
-rw-r--r-- 1 root root  200000 Aug 21 18:04 x00000
-rw-r--r-- 1 root root  200000 Aug 21 18:04 x00001
-rw-r--r-- 1 root root  200000 Aug 21 18:04 x00002
-rw-r--r-- 1 root root  200000 Aug 21 18:04 x00003
-rw-r--r-- 1 root root  200000 Aug 21 18:04 x00004

修改分割文件的前缀

我们也可以通过提供一个前缀名以使用我们自己的文件名前缀,split最后一个参数是PREFIX

[root@mio-test temp]# split -b 200KB -d -a 5 big_file 1v20.com_
[root@mio-test temp]# ll
total 1960
-rw-r--r-- 1 root root  200000 Aug 21 18:06 1v20.com_00000
-rw-r--r-- 1 root root  200000 Aug 21 18:06 1v20.com_00001
-rw-r--r-- 1 root root  200000 Aug 21 18:06 1v20.com_00002
-rw-r--r-- 1 root root  200000 Aug 21 18:06 1v20.com_00003
-rw-r--r-- 1 root root  200000 Aug 21 18:06 1v20.com_00004
-rw-r--r-- 1 root root 1000000 Aug 21 18:00 big_file

-l 按照文件的行数分割文件

[root@mio-test temp]# split -l 1 -d -a 5 big_file 1v20
[root@mio-test temp]# ll
total 1960
-rw-r--r-- 1 root root 1000000 Aug 21 18:07 1v2000000
-rw-r--r-- 1 root root 1000000 Aug 21 18:00 big_file