有时候咱们必须把数据文件分割为更小的文件,这样方便咱们邮件发送或者查看文件内容。split命令则能够用来分割文件。blog
1、根据大小来分割文件get
1.通常分割it
例如:如今有文件tmp.log,大小为:3680k,咱们以1000k为单位分割该文件,在split命令中,除了k(KB),咱们还可使用M(MB)、G(GB)、c(byte)、w(word)扩展
Linux:/qinys/data # split -b 1000k tmp.logfile
2.分割时指定后缀grep
在分割时,默认使用字母后缀,咱们能够给文件名指定数字后缀,使用-d选项,此外,-a length能够指定后缀长度:im
Linux:/qinys/data # split -b 1000k tmp.log -d -a 2命名
3.分割时候指定前缀数据
咱们分割文件的时候为了区分那些是原始文件,哪些是分割后的文件,咱们使用前缀来区分,如下在分割后的文件名以前添加fg_csp
Linux:/qinys/data # split -b 1000k tmp.log -d -a 2 fg_
2、根据行数来分割
如今存在数据文件tmp.log,数据总记录数为:31346
如下是根据文件记录数来拆分文件,以10000条记录为单位进行拆分
Linux:/qinys/data # split -l 10000 tmp.log -d -a 2 row_
3、根据内容拆分
如今存在文件tmp1.log,文件内容以下所示:
咱们如今想把每一个ping的结果分别存储到各个文件,以便查看;
命令以下:
Linux:/qinys/data # csplit tmp1.log /ping/ -n 2 -s {*} -f ping -b "%02d.log"
执行结果以下:
命令解释:
4、分割带有扩展名的文件
如今存在数据文件CUST_INFO.dat(大小为:112M)
咱们使用以下命令进行分割
split -b 30m CUST_INFO.dat -d -a 2 file_&&ls|grep file_|xargs -n1 -i{} mv {} {}.txt
命令解释:
split -b 30m CUST_INFO.dat -d -a 2 file_&&ls 将文件以30M大小进行分割,而且前缀为file_;
xargs -n1 -i{} mv {} {}.txt 将生成的文件重命名为扩展名为txt的
分割后结果以下: