2012-01-17 18 views
2

複数のファイルにある文字列をbashコンソールで検索して置き換えたいと思っています。ここでコンソールで検索と置換

は、私は、ファイル内の文字列を検索するために使用するコマンドです:

grep "string" * -r

ので、上記の検索のためにある、今私はstringを交換するためのコマンドが必要です。

これは可能ですか?

+1

もちろん、 'sed'を試してみましたか? –

+1

http://stackoverflow.com/questions/4996460/how-do-i-replace-the-word-hello-with-goodbye-in-every-file-in-this-directory/4996483 – Antti

答えて

4

http://www.grymoire.com/Unix/Sed.html

それは不機嫌と難しいのですが、それはそれを行うための一つの方法です。ここで

は例です:

sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt 

これはsue.txtに美しいと醜い置き換えます。

+0

OS Xで失敗する(FreeBSD)を 'command a expects \ with text'に置き換えたものです。 –

+0

あなたはタイプミスがあります。私の例ではコマンド "a"はありません。 – Almo

+0

Mac/FreeBSDのバックアップ拡張機能を提供する必要があります。 'sed -i .bk '/ e/d/g' myfile.txt' –