unixでファイルのリネームと文字列の一括置換
ファイルの文字列を変換して、拡張子も変えるスクリプト
サクラサーバーでSSI(サーバーサイドインクルード)が使えなかった為、シェルで対応。
SSIがなぜ効かなかったのかは不明。なんかもっと上手なシェルの書き方もありそうだけども。。。
for file in `find ./ -name "*.html" -print`
do
res=`expr $file : "\(.*\).html"`
cp $file $file.bk
done
find . -type f -name '*.html' -print0 | xargs -0 perl -i -pe 's/<\!--#include virtual=\"\/common\/ssi\/sample\.txt\"-->/<\?include(\"\/home\/sample\/www\/common\/ssi\/sample\.shtml\")\?>/g'
find . -type f -name '*.html' -print0 | xargs -0 perl -i -pe 's/<\!--#include virtual=\"\/common\/ssi\/sample2\.txt\"-->/<\?include(\"\/home\/sample\/www\/common\/ssi\/sample2\.shtml\")\?>/g'
for file in `find ./ -name "*.html" -print`
do
res=`expr $file : "\(.*\).html"`
mv $file $res.php
done
追記。
実は最初のfor文の中に全部いれちゃえばよかったのかも。
コメントはまだありません。