linux下使用split命令分割文件且文件号从1开始

时间:2022-05-19 21:43:44

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