[Linux]ディレクトリの中にあるファイルの一括置換する

ディレクトリの中にあるファイルの一括置換する

sedとbashのfor文を使うと簡単にできます。
例えば、カレントディレクトリにある.htmlファイル中のaaaaをbbbbに置換するには、以下の様にします。

$ for FILE in *.html; do cp $FILE $FILE.bak; sed -e 's/aaaa/bbbb/g' $FILE > $FILE.bak;

done これを実行すると、コピーが作成され、そのコピーを置換した結果が基のファイルに上書きされます。
もし、置換が成功したらrm *.bakでコピーされたファイルを削除します。

コメント

タイトルとURLをコピーしました