- A+
所属分类:shell学习笔记
shell下的split命令主要用于分割一些大文件用的,比如经常要用到将一个几十万行的TXT分割为多少行一个的文件,非常有用,唯一坑爹的是,切割后的文件不能自动添加扩展名和按规律命名,刚找到一个还算不错的示例,算是解决了分割后命名无规律的问题,记录如下。
---------------2015年11月20日补充----------------
今天又用到了split命令,想批量给分割后的文件添加扩展名,终于找到一个靠谱的方法,记录如下:
split kws.txt -l 1000 -d -a 2 kws_&&ls|grep kws_|xargs -n1 -i{} mv {} {}.txt
解释一下,将kws.txt文件按每个文件1000行分割,分割后的文件命名为kws_00....kws_01....kws_02等,等split命令执行完了,紧接着执行第二条命令ls|grep kws_|xargs -n1 -i{} mv {} {}.txt,意思是先查找kws_开头的文件,然后逐个重命名为.txt
---------------补充完毕-------------
split -l 2000 urls.txt -d -a 2 url_
解释一下:
-l:按行分割,上面表示将urls.txt文件按2000行一个文件分割为多个文件
-d:添加数字后缀,比如上图中的00,01,02
-a 2:表示用两位数据来顺序命名
url_:看上图就应该明白了,用来定义分割后的文件名前面的部分。