sed コマンドで複数の条件-e, -E, -r(拡張正規表現)を指定する方法


sed で複数の条件を指定したいときの方法。

-E, -r(拡張正規表現)を指定したときに -e と同じようにオプションをつなげていくと、
sed: -E: No such file or directory となったのでメモ。

Mac 標準の BSD sed, Homebrew で入れた gnu-sed 4.7 に基づきます。

-e オプション

$ sed -e 's/aaa/bbb/g' -e 's/ccc/ddd/g' -e 's/eee/fff/g'

つなげでいくだけ。

$ sed -e 's/aaa/bbb/g; s/ccc/ddd/g; s/eee/fff/g'

; で区切っても良い。

-E, -r(拡張正規表現)オプション

$ sed -E 's/aaa/bbb/g; s/ccc/ddd/g; s/eee/fff/g'

; で区切らないとダメ。

参考文献