私は10バイトの0x00を含むバイナリファイルzero.binと5バイトの0x01を含むデータファイルdata.binを持っています。私はzero.binの最初の5バイトをdata.binに置き換えたいと思います。私はBash:バイナリファイルのいくつかのバイトを置換してください
dd if=data.bin of=zero.bin bs=1 count=5
を試みたが、zero.binは切り捨てられ、最終的には0x01での5バイトになります。私は0x00のテーリング5バイトを保持したい。
私は10バイトの0x00を含むバイナリファイルzero.binと5バイトの0x01を含むデータファイルdata.binを持っています。私はzero.binの最初の5バイトをdata.binに置き換えたいと思います。私はBash:バイナリファイルのいくつかのバイトを置換してください
dd if=data.bin of=zero.bin bs=1 count=5
を試みたが、zero.binは切り捨てられ、最終的には0x01での5バイトになります。私は0x00のテーリング5バイトを保持したい。
問題ありませんが、ちょうどconv=notrunc
を追加します。
dd if=data.bin of=zero.bin bs=1 count=5 conv=notrunc
ソリューションの半分があります。その後、
dd if=zero.bin bs=1 seek=5 skip=5 of=tmp.bin
mv zero.bin old.bin # paranoia
mv tmp.bin zero.bin
は、DD(1)を使用して立ち往生しないで、代わりにzero.bin
の一時ファイルtmp.bin
にそれを行います。他のツールは、例えば、あります
(cat data.bin && tail -c +5 zero.bin) > updated.bin
素晴らしい!!ありがとう:) – Dagang