シェルで一斉置換

シェルを使って、あるカレントディレクトリ以下の、
特定の拡張子のファイルに含まれる文字列を置換する方法。


// EXT:置換対象とするファイルの拡張子
// TO:置換後の文字列
// FROM:置換前の文字列
$ EXT="php";FROM="example2";TO="example";AFILES=`find ./ -name "*.$EXT"`;FILES=`grep -l $FROM $AFILES`;
for FILE in $FILES; do cp $FILE $FILE.back; sed -e "s;$FROM;$TO;g" $FILE.back > $FILE;done;
※ページ幅の都合上コマンドに改行が入っていますが、実際には改行しません。