質問: 例えば `sample.txt`というファイルがあり、その中に下のような文章が書かれていたとします。 ``` これは普通の質問だな。ただ、この質問は良い質問だ。でも、これは悪い質問だ。 ``` このテキストファイルに対し、「。」毎に改行を入れたいと思ったとします。上の例でいうならば、下のようなことを意図しています。 ``` これは普通の質問だな。 ただ、この質問は良い質問だ。 でも、これは悪い質問だ。 ``` そこで、`sed "s/。/。\n/g" sample.txt`という形で改行を挿入するのを試みました。すると、結果としては最後の`。`でも改行が入ってしまい、空行が最後についてしまいます。 渡し先で空行を無視するようにもできますが、どうせならこの置換の時に、最後の空改行を防ぐ形にしたいと思うのですが、どのようにするのがベターでしょうか?
回答: 幾つかやり方はあると思いますが、 `。` のあとに任意の文字があることを利用した、 こんなやり方はどうでしょうか。 ``` sed -e 's/。\(.\)/。\n\1/g' sample.txt ```