如何将linux文件分割为几个

如何将linux文件分割为几个,第1张

Linux中分割文件用split命令,这个命令可以将一个文件分割成指定大小的多个文件,split命令的用法是:

split -b 分割的大小 需要分割的文件名 分割后文件的前导文字

这里解释一下,-b参数表示按照文件大小单位来进行分割(split命令还有一个-l参数,是根据文本文件的行数来进行分割,这个-b参数是根据大小来分割的),-b参数后面跟的是分割的依据——文件大小,文件大小的单位可以是b、k、m,比如300m。“分割后文件的前导文字”是干嘛的呢,其实是在分割后的文件名前面加上一个前缀。下面是一个例子,就假设需要分割的文件是/root/bigfile:

split -b 50m /root/bigfile chunk

这条命令产生的分割文件可能是:chunkaa、chunkab、chunkac,看到前导文字的作用了吧。

那么如何将分割后的文件再合并起来呢,还是接着上面的那个例子,用下面这条命令就可以了(先用cd /root切换到/root目录):

cat chunk* >>bigfile

files=`find /a`

moved=0

target=

for i in $files

do

if [ $moved -lt 1000 ]then

target=/b

else if [ $moved -le 1000 &&$moved -gt 2000 ] then

target=/c

else if [ $moved -le 2000 &&$moved -gt 3000 ] then

target=/d

else if [ $moved -le 3000 &&$moved -gt 4000 ] then

target=/e

fi

mv -v $i $target

((moved+=1))

done

1)按2行切割 -l 2

2)指定切割后的文件前缀名 data_

3)指定切割后的文件后缀名为数字 -d

4)指定切割后的文件后缀名数字的长度    -a 4,即位宽(10进制),这里长度可根据切割出来的文件有多少估算,到底拆分为几个文件,由总行数,和每个文件的行数决定,不用指定。

如果为-a 4文件的后缀数字从0000开始计算,依次为0001,0002,0003,0004

split -l 2 data.log -d -a 4 data_

将文件data.log进行拆分,每个文件2行,如果文件总共有7行,则分为data_0000,data_0001,data_0002,data_0003


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7983306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存