web-dev-qa-db-ja.com

8進値の対応するUTF-8文字をbashで印刷する方法は?

printf %s '\<octal_character_value>'トリックを実行しますが、実行しません:

printf %s '\101'

出力:

\101
4
kos

おそらくあなたは%bが欲しいでしょう。 help printfから:

In addition to the standard format specifications described in printf(1),
printf interprets:

  %b    expand backslash escape sequences in the corresponding argument

そして:

$ printf "%b\n" '\101'
A

一般にユニコード文字で機能するかどうかはわかりません。

4
muru

Awkを使用できます。

$ awk 'BEGIN {print "\107"}'
G

または、awk Velourライブラリ

$ velour -n 'print n_chr(+n_baseconv(107, 8, 10))'
G
1
Steven Penny