【发布时间】:2014-08-13 15:20:07
【问题描述】:
我想将一个二进制文件拆分为多个子文件,这些子文件以前缀后跟十进制偏移量命名,例如prefix-3200.bin, prefix-3201.bin。
我发现我可以用
分割我的文件split -b128k -d input.bin
生成名为 x00、x01、x02、...的文件
不幸的是,我仍然需要翻译块名称并用 0xff 填充最后一个块,因为我所有的块都应该具有相同的 128kB 大小。
我正在考虑使用 Perl 来完成这项工作,但如果我只能使用标准 GNU 工具会更好。
如何轻松重命名和填充我的最后一个二进制块?
我试图用 dd 来处理这个:
dd if=/dev/zero ibs=1k count=128 | tr "\000" "\377" > block
dd if=block of=block conv=notrunc
编辑:
我现在可以使用
生成正确的prefix-XXXX
split -b128k -d -a4 input.bin prefix-
【问题讨论】:
-
rename和$buf = substr($buf . ("\xFF" x (128*1024)), 0, 128*1024); -
另外,
split将前缀作为最后一个参数。
标签: linux perl file split binary