我在这里有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