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