ファイルを検索して置換

Linuxでは、sedコマンドを使ってファイル内の文字列を置換できます。

sed コマンドの基本的な構文は次のとおりです。

sed 's/old_string/new_string/g' file_name

old_string は置き換える元の文字列で、new_string は新しい文字列に置き換え、file_name は置き換えするファイル名です。

たとえば、example.txt の中のfooという文字列をbarという文字列に置換したいとします。

sed 's/foo/bar/g' example.txt

上記コマンドを実行すると、example.txt内のすべてのfooがbarに置き換えられます。なお、上記のコマンドは置き換え後の内容を出力するだけで、元のファイルは直接変更されません。元のファイルを直接変更するには、-iオプションを使用します。

sed -i 's/foo/bar/g' example.txt

例題.txtの内容は、上記のコマンドを実行すると、上書きされます。

特定の行の文字列のみ置換したい場合は、sedコマンドにその行番号を指定します:

sed '3s/foo/bar/g' example.txt

上記のコマンドは example.txt ファイルの 3 行目の「foo」を「bar」に置き換えます。複数行を置き換えるには、行範囲を使用します。

sed '3,5s/foo/bar/g' example.txt

上記の命令はexample.txt の3行目から5行目の全ての foo を bar に置換します。

bannerAds