grep -rl 'before_text' ./ | xargs sed -i -e 's/before_text/after_text/g'
grepオプション
-r : 下層も検索
-l : 検索した結果にファイル名のみを表示
sed
-i(–in-place) : 上書き
-e : 指定したスクリプト(条件式)で変換処理を行う
これでカレントディレクトリ以下のファイル全てを対象として、
指定の文字列を任意の文字列に置換します。
grepでカレントディレクトリ以下
カレントディレクトリのみ置換したい場合や、
対象ファイルを指定する場合は、grep の ./ を任意の対象に変更する。 複数のファイル内の文字列を一括置換する方法
linux上で文字列の一括置換をしたいことが多々ありますが、
コマンドを毎回忘れそうになるので備忘録的に記載します。


