Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題34

問題34 漢字の後ろにふりがなを入れる

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

漢字を正規表現で指定するのはどうすればいいんだったか、さっぱりわからずちょっと情けない気持ちになった。今回の問題は正規表現というのはこう使うのかと気づかされた面白い問題だったと思う。

furigana.txt の

やまだ 山田
がんばる 頑張る
ばくはつする 爆発する
はげしい 激しい

を漢字の後ろに読み仮名が来るように変換する問題だった。解答は

cat furigana.txt | sed -E 's/^(.*)(.*) ([^あ-ん]*)\2/\3(\1)\2/'

である。半角スペースを忘れないように気を付ける。こうすると\2のところに送り仮名が来るようにうまく解釈してくれるらしいが、裏でどのように処理が行われているのかとても気になる。