あるディレクトリ以下のファイルの文字列を一括置換する方法。 find,xargs,perlで一括置換 カレントディレクトリ以下のテキストファイル(*.txt)の文字列"hoge"を"foo"に置き換えする場合。 $ find . -type f -name '*.txt' | xargs perl -i -pe 's/hoge/foo/g' 置換前のファイルをバックアップとして残しておきたい場合、perlの-iの後ろにバックアップファイルの拡張子を付けます。 (サンプルでは.bakとしてバックアップファイルを作成) $ find . -type f -name '*.txt' | xargs perl -i.bak -pe 's/hoge/foo/g' $ $ ls -l total 32 -rw-r--r-- 1 foo bar 1100 8 21 00:57 test.txt -rw-