split命令--linux切割(拆分)文件

split

可以将一个大文件分割成多个小文件,有时候需要将问卷分割成更小的片段,比如提高可读性,生成日志。

 语法
 Usage: 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 ...

说明:

  1. 如果不指定切割后的文件名,也不指定使用数字作为后缀,默认情况下如下
[root@localhost split]# split -b 1024m test.txt 
[root@localhost split]# ls
test.txt  xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj ...
  1. 如果指定以数字作为后缀但是不指定切割后的文件名,默认是以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 ...
  1. 如果指定切骨后的文件名,并且指定亿注资为后缀,如下
[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

你可能感兴趣的:(基础命令)