用SED

时间:2015-08-04 16:02:36

标签: php regex sed find

我有一个带有多个函数my_function()调用的PHP文件,我想用blah_blah()替换它,只需在任何地方重命名函数名称。我还有another_my_function()那里我不会被替换。

我在这里创建了正则表达式:

[^\w\*]my_function\(

这意味着前缀应该是一些特殊字符,而不是具有起始圆括号的函数名称。我把它替换成文件夹,所以我们走了:

find my_folder_name -type f -exec sed -i 's/[^\w\*]my_function(/blah_blah(/g' {} \;

圆形支架不是sed的特殊字符,所以我们不需要逃避它。 问题是,我确定你注意到它会替换包括前缀符号[^\w\*]在内的函数名称。

如何只替换功能名称?

1 个答案:

答案 0 :(得分:0)

这是正确的解决方案,感谢Marc B!

find my_folder_name -type f -exec sed -i 's/\bmy_function(/blah_blah(/g' {} \;