通过shell脚本划分文件

时间:2011-02-16 04:32:16

标签: linux shell

我想将文件分成64MB的块。我想找出没有。零件通过shell脚本。我的脚本给出以下错误:  第3行:134M:基数值太大(错误标记为“134M”) 谁能帮我。提前致谢

2 个答案:

答案 0 :(得分:2)

使用split -b 64m yourfile。它会将您的文件拆分为名为xa,xb,xc等的块。

根据您的评论进行修改:

您可以取文件大小和64mb的商的上限,这将为您提供最大文件大小为64mb时所需的文件数。最后一个文件可能小于64mb。

一个班轮可能看起来像:

stat -f %z yourfile | perl -pi -e 'use POSIX; $_ = ceil $_ / (64 * 1024 * 1024);'

答案 1 :(得分:2)

file=foo
chunks=$(echo "$(wc -c < "$file") / (64*10^6)" | bc -l)

file=foo
chunks=$(echo "$(wc -c < "$file") / (2^26)" | bc -l)

取决于64MB对您来说意味着64000000还是67108864。如果你想要一个截断的整数,请省略-l。