今天我不得不从一个 800MB 的混合文本/二进制文件中删除前 1131 个字节,我正在为一个新的存储库进行过滤的颠覆转储。做到这一点的最佳方法是什么?
首先我试过
dd bs=1 skip=1131 if=filtered.dump of=trimmed.dump
Run Code Online (Sandbox Code Playgroud)
但是在跳过之后,它一次一个字节地复制文件的其余部分,即非常慢。最后我计算出我需要 405 个字节来将其四舍五入为三个 512 块,我可以跳过
dd if=/dev/zero of=405zeros bs=1 count=405
cat 405zeros filtered.dump | dd bs=512 skip=3 of=trimmed.dump
Run Code Online (Sandbox Code Playgroud)
哪个完成得相当快,但一定有更简单/更好的方法?有没有我忘记的另一个工具?
dd ×1