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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM