ファイルを検索して置換
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 に置換します。