2016-10-21 [長年日記]
■16進ダンプ表示するワンライナー
python3 -c 'from signal import signal, SIGPIPE, SIG_DFL ;signal(SIGPIPE,SIG_DFL); import sys, itertools; f = open(sys.argv[1], "br") if 1 < len(sys.argv) else sys.stdin.buffer; b = (f.read(16) for _ in itertools.repeat(None)); h = lambda x: "{:02x}".format(x); any(not l or print(" ".join(map(h, l))) for l in b); f.close() if 1 < len(sys.argv) else None'
というメモ。
本当はワンライナーだけど改行を入れてみた。
ファイル名指定(1つ)か標準入力から。
$ alias hexview='python3 -c '\''from (略) else None'\' $ hexview Downloads/ubuntu-16.04.1-server-amd64.iso| head -n 10 45 52 08 00 00 00 90 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00 06 b9 00 01 f3 a5 ea 4b 06 00 00 52 b4 41 bb aa 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10 83 e1 01 74 0b 66 c7 06 f1 06 b4 42 eb 15 eb 00 5a 51 b4 08 cd 13 83 e1 3f 5b 51 0f b6 c6 40 50 f7 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0 07 e8 44 00 0f 82 80 00 66 40 80 c7 02 e2 f2 66 81 3e
じっさいは od を使うんだけどね。