![SED 用于替换脚本文件中的特殊模式](https://linux22.com/image/158715/SED%20%E7%94%A8%E4%BA%8E%E6%9B%BF%E6%8D%A2%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%89%B9%E6%AE%8A%E6%A8%A1%E5%BC%8F.png)
我有 PHP 脚本,其中包含我想要更改的代码:
Function1_show();Function2_show();
我希望将文件更改为:
call_my_func("Function1");
call_my_func("Function2");
我不经常使用正则表达式,所以我不确定如何键入“_show();”在每个函数的末尾。 SED 似乎是最好的功能,但我们将不胜感激。
答案1
sed -i 's/\([A-Za-z0-9_]*\)_show();/call_my_func("\1");/g' *.php
-i
出售sed
就地更新 *.php 文件的选项。
这会搜索字母数字文本(包括下划线),然后_show();
捕获该文本。
整个字符串将替换为call_my_func("
、捕获的文本和");
。
如果匹配文本由于修饰符而多次出现,则会重复此操作g
。
可以通过使用修饰符来使用[a-z0-9_]
without ,但它也会匹配,这可能不是所期望的。A-Z
i
Function_SHOW();