■以前にもやった。 10進⇒16進⇒ASCII変換 http://d.hatena.ne.jp/labunix/20130106 ASCII⇒10進⇒16進変換 http://d.hatena.ne.jp/labunix/20130107 16進⇒10進⇒ASCII変換 http://d.hatena.ne.jp/labunix/20130108 ■今回は半角スペースで区切った複数の単語。 $ for n in h e l l o \ w o r l d;do \ echo $(printf "%3d" \""$n" ) | awk '{printf "%x ",$1}'; \ done;echo 68 65 6c 6c 6f 20 6f 72 6c 64 $ echo "68 65 6c 6c 6f 20 6f 72 6c 64" | \ for n in `xargs`;do echo "$((0x$n))" | awk '{printf "%c",$1}'; done;echo hello world $ for n in h e l l o \ w o r l d;do \ echo $(printf "%03d" \""$n" ); \ done | xargs echo -n;echo 104 101 108 108 111 032 119 111 114 108 100 $ echo "68 65 6c 6c 6f 20 77 6f 72 6c 64" | \ for n in `xargs`;do echo "$((0x$n))" | awk '{printf "%03d ",$1}';done;echo 104 101 108 108 111 032 119 111 114 108 100 ■要はこういうこと。 $ for n in h e l l o \ w o r l d;do \ echo $(printf "%03d" \""$n" ) | awk '{printf "%03d,%c,0x%x\n",$1,$1,$1}'; \ done;echo 104,h,0x68 101,e,0x65 108,l,0x6c 108,l,0x6c 111,o,0x6f 032, ,0x20 119,w,0x77 111,o,0x6f 114,r,0x72 108,l,0x6c 100,d,0x64 $ echo "68 65 6c 6c 6f 20 77 6f 72 6c 64" | \ for n in `xargs`;do \ echo "$((0x$n))" | awk '{printf "%03d,%c,0x%x\n",$1,$1,$1}'; \ done;echo 104,h,0x68 101,e,0x65 108,l,0x6c 108,l,0x6c 111,o,0x6f 032, ,0x20 119,w,0x77 111,o,0x6f 114,r,0x72 108,l,0x6c 100,d,0x64