linux split命令拆分合并文件
split :可以将一个大文件分割成多个小文件,有时候需要将问卷分割成更小的片段,比如提高可读性,生成日志。
语法: split [OPTION]... [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaul
size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT
is -, read standard input.
选项(options)
-b:选项后跟期望切割后的单个文件的大小,单位k或者m
eg. split -b 1024m test.txt //将test.txt按照每1024m切割为一个小文件
-l:选项后跟期望切割后单个文件的行数,直接写数字
eg. split -l 1000 test.txt //将test.txt按照每1000行切割为一个小文件
-C:与选项-b相似,但是在切割时将尽量维持每行的完整性
-d:使用数字作为后缀
-a:配合选项-d,指定后缀长度
eg. split -b 10k test.txt -d -a 3 split_file
结果:test.txt split_file000 split_file001 split_file002 ...
说明:
如果不指定拆分后的文件名,也不指定使用数字作为后缀,默认情况下如下
[root@localhost split]# split -b 1024m test.txt [root@localhost split]# ls test.txt xaa xab xac xad xae xaf xag xah xai xaj ...
如果指定以数字作为后缀但是不指定拆分后的文件名,默认是以x为开头,如下
[root@localhost split]# split -b 1024m test.txt -d -a 2 [root@localhost split]# ls test.txt x00 x01 x02 x03 x04 x05 x06 x07 x08 x09 ...
如果指定拆分后的文件名,并且指定以数字为后缀,如下
[root@localhost split]# split -b 1024m txst.txt -d -a 2 test.txt_ [root@localhost split]# ls `txst.txt txst.txt_00 txst.txt_01 txst.txt_02 txst.txt_03 txst.txt_04 ...
合并:
cat 分割的文件名 > 合并后的文件名
$ cat a.txt a b c d $ split -l 1 a.txt $ ls a.txt xaa xab xac xad $ cat x*>HE.txt $ cat HE.txt a b c d