[UNIX] コマンドラインからアスキー文字列を16進数に変換する


アスキー文字列を16進数(Hex)に変換します。

環境

以下で確認取れました。

  • OSX bash
  • FreeBSD /bin/sh (ash)

実行サンプル

コマンド(例)
string='HelloWorld!HappyHacking!UNIXPhilosophyBSDLinuxOSX'
コマンド
hex=$(for x in $(echo ${string} | grep -o '.');do printf "%2X" \"$x; done) \
  && echo $hex
結果(例)
48656C6C6F576F726C642148617070794861636B696E6721554E49585068696C6F736F7068794253444C696E75784F5358

謝辞

塩原さん、竹迫さん、その他コメントいただいたみなさん