🎃
【Bash】指定したコードポイントの範囲の文字を出力する
「あいうえお」を出力してみます。準備として 0x3042
から 0x304A
までの整数を生成してみましょう
echo 304{{2..8..2},{A..A}}
3042 3044 3046 3048 304A
ユニコードエスケープシーケンスを printf
で出力してみます。
printf '%b ' \\U304{{2..8..2},{A..A}}; echo
あ い う え お
今度はひらがなブロックのすべてのコードポイントを生成してみます。範囲は 0x3041
から 0x309F
です。
echo 30{4..9}{{0..9},{A..F}}
文字を出力してみます。数が多いので paste
で一定の幅に収めます。
printf %b\\n \\U30{4..9}{{0..9},{A..F}} | paste -d\ -{,,,}{,,,}
今度は顔文字を扱ってみましょう。範囲は 1F600~1F64F です。
echo 1F6{0..4}{{0..9},{A..F}}
同じようにすべてを表示させてみます。
printf %b\\n \\U1F6{0..4}{{0..9},{A..F}} | paste -d\ -{,,,}{,,,}
Discussion