我不擅长编写脚本,也不擅长正则表达式,因此我不确定如何实现这一目标。
我想要做的是运行一个unix命令,该命令将在当前(和子)目录中搜索特定模式匹配,并将其替换为另一个字符串/模式。
关于这一点的很多文章,但我的'扭曲''是匹配必须有一个通配符 - 将在替换字符串中重现。
我采用这种方法,因为我不认为我可以通过Eclipse(PHP)来实现这一点。如果可以使用Eclipse完成,请告诉我。
例如,以下是我正在寻找的模式:::$_<sometext>
,我希望将其替换为::myFunction('<sometext>')
。
这是一个例子:
echo UserClass::$_thevariable;
变成:
echo UserClass::getVar('thevariable');
。
感谢您的帮助
答案 0 :(得分:1)
find . -exec sed -i -E -e "s/::[$]_([a-zA-Z]+)/::getVar('\1')/g" {} \;
但要注意sed -i
,它会替换文件到位...这也适用于指定的搜索/替换字符串,如果你需要逃避事情,它可能会更加复杂