bashですべてのひらがな・カタカナを出力する
Pocket

残念ながら、bashのブレース展開では「echo -e {あ..ん}」といった指定ではひらがなの一覧を出力できない(zshでは可能)。

blacknon@BS-PUB-UBUNTU-01:~$ bash -c 'echo -e {あ..ん}'
{あ..ん}
blacknon@BS-PUB-UBUNTU-01:~$ zsh -c 'echo -e {あ..ん}'
あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん
Sponsored Links

じゃbashで出力させる場合どうするかと考えてみたところ、対象範囲となるUnicodeの文字コードを出力させて、その指定範囲をechoで出力させることで対応するのが良さそうだ。
前回書いた16進数の一覧を出力させる処理を利用する。

printf 'echo -e "\U30%02x\"\n' {0..255} | awk '/3041/,/3094/' | bash | tr -d '\n'
blacknon@BS-PUB-UBUNTU-01:~$ printf 'echo -e "\U30%02x\"\n' {0..255} | awk '/3041/,/3094/' | bash | tr -d '\n'
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヴ

 

なお、カタカナの場合30A1~30FAが範囲になるようだ。

printf 'echo -e "\U30%02x\"\n' {0..255} | awk '/30a1/,/30fa/' | bash | tr -d '\n'

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*