出力を取得しようとしています。16進ダンプコマンドは次のようになります。16進編集基本。私はフォーマット文字列を使用してきましたが、-e
それを使用する方法を視覚的に説明する良いドキュメントがないので、正しく理解できません。
現在私は以下を持っています:
# hexdump -C -n 0x100 m1.bin
00000090 00 00 00 00 00 56 08 00 00 00 00 00 04 00 00 00 |.....V..........|
000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
ただし、次のように4バイトの間にスペースが1つ必要です。
00000090 00 00 00 00 00 56 08 00 00 00 00 00 04 00 00 00 |.....V..........|
000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
または次のようになります。
00000090 0000 0000 0056 0800 0000 0000 0400 0000 |.....V..........|
000000a0 0000 0000 0000 0000 0000 0000 0000 0000 |................|
そして色を少し出すのもいいと思います。これまで、hexdumpではどの色も得られませんでした。
編集する
パイプの場合、\n
アドレス、文字フィールド、および改行()を省略することも便利です。
# hexdump -e '16/1 "%04.2x"' -n 40 m1.bin
54 4f 43 00 00 00 00 00 00 00 00 00 00 00 00 ...
答え1
それほど単純でも明確ではありません。試してみてください。
hexdump -v -e '"%08.8_ax "' -e' 4/1 "%02x " " " 4/1 "%02x " " " 4/1 "%02x " " " 4/1 "%02x " ' -e '" |" 16/1 "%_p" "|\n"' file
答え2
次のように16進ダンプを使用する代わりにxxdを使用することをお勧めします。
xxd <bin_name>
00000000: cffa edfe 0700 0001 0300 0080 0200 0000 ................
00000010: 1000 0000 d006 0000 8580 2100 0000 0000 ..........!.....
00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45 ....H...__PAGEZE
00000030: 524f 0000 0000 0000 0000 0000 0000 0000 RO..............
00000040: 0000 0000 0100 0000 0000 0000 0000 0000 ................
|
最後にASCII文字が必要な場合は、以下を試してください。
xxd <bin_name> | sed -r 's/(................)$/|\1|/g'
00000000: cffa edfe 0700 0001 0300 0080 0200 0000 |................|
00000010: 1000 0000 d006 0000 8580 2100 0000 0000 |..........!.....|
00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45 |....H...__PAGEZE|
00000030: 524f 0000 0000 0000 0000 0000 0000 0000 |RO..............|
00000040: 0000 0000 0100 0000 0000 0000 0000 0000 |................|