4

10 バイトの 0x00 を含むバイナリ ファイル zero.bin と、5 バイトの 0x01 を含むデータ ファイル data.bin があります。zero.bin の最初の 5 バイトを data.bin に置き換えたい。私が試してみました

dd if=data.bin of=zero.bin bs=1 count=5

しかし、zero.bin が切り捨てられ、最終的に 0x01 の 5 バイトになります。0x00 の末尾 5 バイトを保持したい。

4

3 に答える 3

9

問題ありません。追加するだけconv=notruncです:

dd if=data.bin of=zero.bin bs=1 count=5 conv=notrunc
于 2012-04-26T05:22:51.050 に答える
1

あなたは解決策の半分を持っています。tmp.bin代わりに一時ファイルにそれをzero.bin行い、次に

dd if=zero.bin bs=1 seek=5 skip=5 of=tmp.bin
mv zero.bin old.bin # paranoia
mv tmp.bin zero.bin
于 2012-04-26T01:58:06.483 に答える
0

dd(1) の使用にとらわれないでください。他にも次のようなツールがあります。

(cat data.bin && tail -c +5 zero.bin) > updated.bin
于 2012-04-26T02:05:54.477 に答える