首页 > 代码库 > Linux下的文件分割命令split
Linux下的文件分割命令split
用法:split [选项]... [输入 [前缀]]
将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;
默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或
者文件为"-",则从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --suffix-length=N 指定后缀长度为N (默认为2)
-b, --bytes=大小 指定每个输出文件的字节大小
-C, --line-bytes=大小 指定每个输出文件里最大行字节大小
-d, --numeric-suffixes 使用数字后缀代替字母后缀
-l, --lines=数值 指定每个输出文件有多少行
--verbose 在每个输出文件打开前输出文件特征
--help 显示此帮助信息并退出
--version 显示版本信息并退出
SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。
例子:
$ ls -l
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
$split -a 3 -d -b 800KB splittest.tar.bz2 sp
-a 3 #指定后辍为3位
-d #指定后辍为数字,而不是默认的aa ab等
-b 800KB #分割的大小
sp #前辍
$ls -l
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp000
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp001
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp002
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp003
-rw-r--r-- 1 user user 573144 5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
可以看到,sp000-sp004就是分割后的文件。
合并:
$cat sp00* >splittest1.tar.bz2
$ls -l
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp000
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp001
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp002
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp003
-rw-r--r-- 1 user user 573144 5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144 5月 26 11:11 splittest1.tar.bz2
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
可以看到,合并后的文件splittest1.tar.bz2与分割前的splittest.tar.bz2 大小是一致的
$ md5sum splittest1.tar.bz2
12951203bd64c314d14a57b5d57f2592 splittest1.tar.bz2
$ md5sum splittest.tar.bz2
12951203bd64c314d14a57b5d57f2592 splittest.tar.bz2
分别比较两个文件的MD5校验,可以确认合并是正确的。
Linux下的文件分割命令split