バイナリ データを含むファイルがあり、特定の位置にある数バイトを置き換える必要があります。次のようにして、bash をオフセットに向け、必要な場所が見つかったことを示しました。
dd bs=1 if=file iseek=24 conv=block cbs=2 | hexdump
ここで、「ファイル」を出力として使用するには:
echo anInteger | dd bs=1 of=hextest.txt oseek=24 conv=block cbs=2
これは問題なく動作するようです。16 進エディタで行った変更を確認できます。問題は、「anInteger」がその整数のASCII表現として書かれることです(これは理にかなっています)が、バイナリ表現を書く必要があります。
これには bash を使用したいのですが、スクリプトはできるだけ多くのシステムで実行する必要があります (ターゲット システムに python がインストールされているかどうかはわかりません)。
入力をバイナリ (おそらく 16 進数から) に変換するようにコマンドに指示するにはどうすればよいですか?