ただ、正規表現の文法はperlでいいよね派なので。覚えることは減らしたい。方言は減らしたい。
zsh なので、.zshrcに
alias psedbak="perl -i.bak -pe"
#perl -i -pe 's/(123)/${1}456/' メモ
という記述をいれています。-iで上書き、-i.bakとするとその拡張子(bak)でバックアップが作られます。これは古典的SEDにはない機能です。abc.txt には、Doctor という文字列があったとして、
$ perlsed 's/doctor/Dr./' abc.txt
で一括で変更できます。この記述内容をperlの正規表現で詳細に記せるので便利なわけです。sedの文法は忘れてもいいです。私はほぼ忘れたいと思います。
Dr.James Brown male
Dr.Ann Esex female
という医師名簿テキスト1.txt があって、男性にMr. と女性にMs.とつけ直すとするとperlsed 's/^(Dr.)(.*? )(female)$/Ms.$2/' 1.txt
perlsed 's/^(Dr.)(.*? )(male)$/Mr.$2/' 1.txt
と2回繰り返せば複雑な記述をしなくても処理できますね。
一行でもいけるでしょう。
私が日常必要としているのはこの程度なのでsedでもいいわけですが、perlの作法だけ気にすればいいので結局楽かなと思っている次第です。