2009年05月20日
シェルで一斉置換
シェルを使って、あるカレントディレクトリ以下の、
特定の拡張子のファイルに含まれる文字列を置換する方法。
// 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;
※ページ幅の都合上コマンドに改行が入っていますが、実際には改行しません。
コメントを書く