テキストファイルがあるとしましょう。
foo fnord bar
bizz foo poit
今、「foo」と「bar」の両方を「narf」に変更したいと思います。
以下が利用可能であることを知っています。
sed -e 's/foo/narf/g' -e 's/bar/narf/g' fileName
しかし、OR演算子を使用して、正規表現に2つの針を1つの式と一致させるようにしたいと思います。
いくつかのマニュアルを見て、配管が私のニーズに適していると思いましたが、試してみました。
sed -e 's/foo|bar/narf/g' -i fileName
動作せず、エラーも発生しません。
私がここで何を間違っているのか?
ベストアンサー1
-r
拡張正規表現構文を使用するオプション:
sed -r -e 's/foo|bar/narf/g'
それ以外の場合は、次のように分離を脱出します\|
。
sed -e 's/foo\|bar/narf/g'