Skip to content

hexdump

   

SMF出力を確認したくて、hexdump使ったところ、2バイト単位の出力(しかもリトルエンディアン)なのね。

-Cオプション付ければ1バイト単位になるけど、右側にASCII文字も出る。 これのASCIIなし版が見たいんだけど、そういうオプションはないみたい。

$ go run main.go ../../testdata/test.md | hexdump -C
00000000  4d 54 68 64 00 00 00 06  00 01 00 03 03 c0 4d 54  |MThd..........MT|
00000010  72 6b 00 00 00 17 00 ff  03 00 00 ff 51 03 06 8a  |rk..........Q...|
...

-eで書式指定すればいける?と思ったけど、うまくいかない。

$ go run main.go ../../testdata/test.md | hexdump -e '/1 "%02x "'
4d 54 68 64 00 *
06 00 01 00 03 *
c0 4d 54 72 6b 00 *
17 00 ff 03 00 *
...

*とか改行はいったいどこから?

結局、cutと組み合わせて実現できた。

$ go run main.go ../../testdata/test.md | hexdump -C | cut -f 2-19 -d " "
 4d 54 68 64 00 00 00 06  00 01 00 03 03 c0 4d 54
 72 6b 00 00 00 17 00 ff  03 00 00 ff 51 03 06 8a
...