使用shell split切分文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用shell split切分文件相关的知识,希望对你有一定的参考价值。

参考技术A 简单明了,直接上命令

-l:按行分隔,每1000行切割test.txt文件
-d:添加数字后缀
-a:以3位数数字做尾数
test_:分割后的文件的前缀

在基础版的结果上,先执行ls命令,查找test_split_开头的文件,然后逐个重命名为.txt

linux 切分文件

linux经常需要处理文件,如果文件比较大,那么需要切分成为若干的小文件再处理。

命令:split

比如有一个文件:

ll -h 1431531915758 
-rw-r--r-- 1 ticketdev ticketdev 9.1G May 15 12:18 1431531915758

9.1个G的大小,如果想要切分称为每个文件100M大小,那么需要的命令是:

split -b 100M 1431531915758 split

解释一下参数,-b 文件的大小;split 文件的前缀名称,执行之后的效果:

1431531915758                 splitac  splitag  splitak  splitao  splitas  splitaw  splitba  splitbe  splitbi  splitbm  splitbq  splitbu  splitby  splitcc  splitcg  splitck  splitco  splitcs  splitcw  splitda  splitde  splitdi  splitdm
  splitad  splitah  splital  splitap  splitat  splitax  splitbb  splitbf  splitbj  splitbn  splitbr  splitbv  splitbz  splitcd  splitch  splitcl  splitcp  splitct  splitcx  splitdb  splitdf  splitdj  splitdn
splitaa                       splitae  splitai  splitam  splitaq  splitau  splitay  splitbc  splitbg  splitbk  splitbo  splitbs  splitbw  splitca  splitce  splitci  splitcm  splitcq  splitcu  splitcy  splitdc  splitdg  splitdk  splitdo
splitab                       splitaf  splitaj  splitan  splitar  splitav  splitaz  splitbd  splitbh  splitbl  splitbp  splitbt  splitbx  splitcb  splitcf  splitcj  splitcn  splitcr  splitcv  splitcz  splitdd  splitdh  splitdl  splitdp

发现已经切割成为了若干小文件!

当然如果想要组合的话,那么容易一些的办法是:cat split* > 目标文件名称

如果想要按照每100行来切分文件:split -l 100 file.txt

如果什么参数都不写,默认是每1000行

以上是关于使用shell split切分文件的主要内容,如果未能解决你的问题,请参考以下文章

linux 切分文件

使用正则表达式--切分字符串

Linux 之 split 切分大文件 cat 合并多个小文件

大数据技术使用java实现MapReduce对文件进行切分,分类汇总

基于paddlex图像分类模型训练:图像分类数据集切分:文件夹转化为imagenet训练格式

字符串split操作到底有多少坑