ターミナル 101: Sed を使用した検索と置換

04/29 2013

単一ファイル内のすべての Word を置換する

単一のファイルで、出現する単一の単語をすべて別の単語に置き換えたい場合は、次のコマンドを使用して簡単に実行できます。

sed 's/FindThisWord/ReplaceWithThisWord/g' file.txt

上記のコマンドの「FindThisWord」という単語を置換したい単語に置き換え、上記のコマンドの「ReplaceWithThisWord」という単語をその単語を置き換えたい単語に置き換えます。

(新しいタブで開きます)


このコマンドは sed を開き、テキスト ファイルを画面に出力し、見つかった単語を代わりに使用する単語に置き換えます。

したがって、次のような文書があるとします。

アップルってすごいですね!

次のコマンドを実行すると、上記のテキスト文書の「Apple」を「MacLife」に置き換えることができます。

sed 's/Apple/MacLife/g' サンプル.txt

編集したドキュメントが画面に印刷されて表示されます。

ファイルへの変更の書き込み

(新しいタブで開きます)

すべて問題ありませんが、上記のコマンドは元のファイルへの変更を保存せず、更新されたファイルを画面に表示するだけです。変更を出力ファイルに書き戻すには、代わりに次のコマンドを使用します。

sed -n 's/FindthisWord/ReplaceWithThisWord/gpw Output.txt' file.txt

したがって、上記と同じ例を続けて、文中の「Apple」を「MacLife」に置き換える場合は、次のコマンドを使用します。

sed -n 's/Apple/MacLife/gpw Output.txt' サンプル.txt

これにより、sed はファイルを変更して画面に出力するだけでなく、変更内容を「output.txt」というファイルに書き戻します (この名前は置換文字列コマンド内で変更できます)

。 Bohon は、フリーランスのテクノロジー ライター、インディーズ Mac および iOS 開発者、アマチュア写真家です。この記事の著者を Twitter でフォローしてください