Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

bashで標準出力に16進数の値を吐き出す

bashで少量の16進数(HEX)の値を出力したい場合、
bashの場合文字列中で特殊記法を使うといけます。

実際のところ

$ echo -en "\x12" | od -x
0000000      0012                                                        
0000001

みんな大好きprinfでもいけます。

$ printf "\x12" | od -x
0000000      0012                                                        
0000001
$ printf "\xde\xad\xbe\xef" | od -tx1
0000000    de  ad  be  ef                                                
0000004

1バイトごとなので、横着しちゃだめです

$ printf "\xdeadbeef" | od -tx1
0000000    de  61  64  62  65  65  66                                    
0000007

特殊記法で出力した16進数(Hex)を変数に格納するには?

shuzo-kino.hateblo.jp