自由奔放な生活
Home >> 自由奔放な生活 

ファイル検索、ファイル内検索、置換を一括で行う

 ファイル郡からファイル内に特定の文字列を持つファイルをリストアップし、
その文字列を別の文字列に一括で置換する方法を記載します。
 例えば、当サイトのディレクトリ内には
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ファイルを対象とし、
  [two.html]を[two.php]に一括置換する

for FILE in `find ./ -name “*.html” -o -name “*.php” | xargs grep “two.html” | awk -F : ‘{print $1}’ | sort -u`;
do
cp ${FILE} ${FILE}.bak;
sed -e ‘s/two.html/two.php/g’ ${FILE}.bak > ${FILE};
rm -f ${FILE}.bak;
done

きっとその内忘れるから備忘録として残しました。

タグ: ,

この投稿は 2012年4月5日 木曜日 19:19 に Linux カテゴリーに公開されました。
この投稿へのコメントは RSS 2.0 フィードで購読することができます。
コメントを残すか、ご自分のサイトからトラックバックすることができます。


コメントをどうぞ

2018年12月
« 8月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

アーカイブ

検索



*** Contents ***

● Link
● お問い合わせ


Home >> 自由奔放な生活