2012-10-25 93 views
1

我正在創建一個構建腳本,用於在生成後掃描.html文件,但似乎無法找到如何使其工作。這裏是一個片段:使用unix替換.html擴展名中的.php文件擴展名。

for PAGE in ${PAGES[@]} 
do 
    echo "\t\t\t- $DIR_PRE$PAGE.html" 
    echo "\t\t\t- cleaning links in $DIR_PRE$PAGE.html" 
    php helper.php output lang=$GET+environment=prod+page=$PAGE > $SITE/$DIR_PRE$PAGE.html 
    find * -name \*.html -print0 | xargs -0 sed --in-place -e 's~.php~.html~g' 
done 

最後find命令應該在.html文件找到使用php擴展鏈接,並與以.html取代它,但我得到這個錯誤:

sed: illegal option -- - usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] - wiiu.html

回答

1

如果要重命名的所有.html文件在當前目錄.PHP遞歸:

find . -name "*.html" -exec rename .html .php {} \;

編輯:誤解了這個問題。您可以使用sed替換文件內的字符串:

sed -i 's/.html/.php/g' *.html