複数のファイル内の文字列をまとめて置換する(Ubuntu)
以下は bash の場合。
1つのファイルを対象にする場合
$ grep -l '置換対象の文字列' 置換対象のファイル | xargs sed -i -e 's/置換対象の文字列/置換後の文字列/g'
カレントディレクトリの全てのファイルを対象にする場合
$ grep -l '置換対象の文字列' ./* | xargs sed -i -e 's/置換対象の文字列/置換後の文字列/g'
sed -i のところ sed -i.bak とすると、もとのファイル名.bak としてバックアップファイルを つくってくれて、しかも置換したファイルもつくってくれる。
参考
カテゴリー: memo, Ubuntu
タグ: bash, grep, linux, sed, ubuntu
カウント: 228