odコマンドはデフォだと、行番号まで出てきて何かしら細工をしたい場合使いづらいです。
今回は、これを一行で出す方法。
実際のところ
$ echo 123 | od -An -v
031061 005063 16進数は"x"
$ echo 123 | od -An -v -tx1
31 32 33 0a
$ echo 123 | od -An -v -tx2
3231 0a33 10進数は"u"
$ echo 123 | od -An -v -tu1
49 50 51 10
$ echo 123 | od -An -v -tu2
12849 2611 末尾の改行がいらないなら、printfかechoのオプションつきで。
$ printf "123" | od -An -v -tu1 | tr -d " " 495051
故郷の村を人質に取られてシェルのまま計算しないといけない場合
$ expr `printf "123" | od -An -v -tu1 | tr -d " " ` + 1 495052 $ expr `printf "123" | od -An -v -tu1 | tr -d " " ` \* 2 990102
単純に数値を出したいだけならprintfが楽
結果を16進数にするなら、結局printfが一等楽
$ printf "%x\n" 990102 f1b96