ファイル郡からファイル内に特定の文字列を持つファイルをリストアップし、
その文字列を別の文字列に一括で置換する方法を記載します。
その文字列を別の文字列に一括で置換する方法を記載します。
例えば、当サイトのディレクトリ内には
HTML、CSS、PNG等、いろいろな種類のファイルが多数存在します。
このファイル郡からファイル内に[two.html]という文字列を持つファイルを探し出し、
[two.php]という文字列に置換したい場合、手作業だと心が折れます (∥・д・)
HTML、CSS、PNG等、いろいろな種類のファイルが多数存在します。
このファイル郡からファイル内に[two.html]という文字列を持つファイルを探し出し、
[two.php]という文字列に置換したい場合、手作業だと心が折れます (∥・д・)
そんなわけで、対象ファイル検索、対象ファイル内検索、一括置換をコマンド一発でやります!
for FILE in `find ./ -name [検索条件] | xargs grep “[置換対象文字列]” | awk -F : ‘{print $1}’ | sort -u`; do cp ${FILE} ${FILE}.bak; sed -e ‘s/[置換対象文字列]/[置換後文字列]/g’ ${FILE}.bak > ${FILE}; rm -f ${FILE}.bak; done 例:HTMLファイル、PHPファイルを対象とし、 |
きっとその内忘れるから備忘録として残しました。
この投稿は 2012年4月5日 木曜日 19:19 に Linux カテゴリーに公開されました。
この投稿へのコメントは RSS 2.0 フィードで購読することができます。
コメントを残すか、ご自分のサイトからトラックバックすることができます。