用 SED 替换所有出现的 PHP 函数名称

Replace all occurrences of PHP function name with SED

我有一个 PHP 文件,其中多次调用函数 my_function(),我想用 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\*] 的函数名称。

如何只替换函数名?

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

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