我在這裏有doosey。我是新來的Linux外殼如此裸露與我...Linux SED搜索每行替換多個
我需要用一個PHP函數來替換客戶端網站中的一大堆PHP超級全局變量,我用它來清除xss攻擊的超全局變量。
這裏是原來的代碼可能是什麼樣子:
echo $_REQUEST['HELLO1'] . ' AND ' . $_REQUEST['HELLO2'];
我需要它看起來像這樣:
echo MYCLASS::myfunction($_REQUEST['HELLO1']) . ' AND ' . MYCLASS::myfunction($_REQUEST['HELLO2']);
的主要問題,我需要做一個搜索/過更換100個文件!哎呀!
所以我的解決辦法是這樣的(在Linux的shell):
sudo sed -i 's/\$_REQUEST[.*\]/MYCLASS::myfunction(&)/g' *.php
這個偉大的工程爲長,因爲只有一個「$ _REQUEST」每行出現......然而,隨着多個實例的實例,它擰起來,並做到這一點:
echo MYCLASS::myfunction($_REQUEST['HELLO1'] . ' AND ' . $_REQUEST['HELLO2']);
我現在拉我的頭髮了!
任何Linux shell專家都可以幫到我希望嗎?
這比Perl腳本快得多..謝謝! – 2011-04-29 19:49:50
不客氣,我向你提供了perl 1班輪以及上面的答案。 – anubhava 2011-04-29 20:03:01
雖然我有一個問題,它用$ _REQUEST('')替換$ _REQUEST ['']任何想法如何解決? – 2011-04-29 20:05:35