Linux里切割大文件的命令如下:
split [OPTION] [INPUT [PREFIX]]
选项如下:
-a : 指定后缀长度
-b : 每个文件多少字节
-d : 使用数字后缀而不是字母
-l : 指定每个文件的行数
2、比如我想让后缀长度为 2,即 -a 2。用数字后缀 -d。每个文件 10M,即 -b 10m。命令可以设计如下:
split -a 2 -d -b 10m /var/lib/mysql/general.log nowamagic
nowamagic00
nowamagic01
nowamagic02
nowamagic03
nowamagic04
nowamagic05
nowamagic06
nowamagic07
nowamagic08
nowamagic09
实例
现在切割大文件temp_soc_data_2018-10-14.txt
split -l 10000 temp_soc_data_2018-10-14.txt -d -a 4 FILE_SOUTH_ITMS_
结果是这种类型的
FILE_SOUTH_ITMS_0000_20181014.DAT
批量改名
ls |grep FILE_SOUTH_ITMS_|awk -F "_" '{d=sprintf("%04d" ,$4+1);system("mv "$0" abcdef_"d".dat")}'
改成了这种类型,数字已经加1了,过程就是找到数字,+n用变量记录,再用到mv的参数里。
abcdef_0001.dat