2012-02-15 25 views
0

sed -eを使用してファイル内の複数のフレーズを置き換えたいと思います。問題は、特定のフレーズを文字列に置き換えたいのですが、これを行うにはどうにかしていますか?私はこの何かを文字列とsedに置き換えます-e

sed -e 's/foo/$bar/' -e 's/some/$text/' file.whatever 

を使用しないとき、それがどんな効果を持っていないので、文字列でを言うとき...

+1

これは、 '-i'フラグを使用した場合にのみファイル内で置き換えられます。それ以外の場合は、STDOUTに変更が表示されます。 – cmbuckley

+0

sed -i -e 's/foo/$ bar /' -e 's/some/$ text /' file.whatever? –

+0

'echo '/ foo/$ bar /'' –

答えて

2

は、私はあなたが変数とを意味すると考えています。その場合は、sedコマンドを一重引用符ではなく二重引用符で囲みます。前者は可変的な拡張を可能にし、後者は拡張しません。

sed -e "s/foo/$bar/" -e "s/some/$text/" file.whatever 
関連する問題