我需要编写一个脚本来处理分布在数千个c文件上的数百万行代码我需要完成的部分工作是搜索和替换搜索字符串的位置,搜索字符串是从函数的名称中生成的我可以使用什么工具来实现自动化我想我可以编写一个bash脚本,为文件中包含的每个函数编写一个新的sed命令,但是我不知道如何在不重新创建控制盘的情况下以编程方式标识函数。
示例函数
void foo123()
{
printf("foo123: hello world");
}
所以我想搜索模式
printf("FUNCTION_NAME:
然后替换它这些功能有成千上万种。 最佳答案
使用capturing-group和backreference:
([a-zA-Z]+ ([a-zA-Z0-9_]+)\(\)[[:space:]]+{[^}]+)printf("\2.+
替换为:
\1
关于c - 如何创建用于处理源文件的正则表达式,其中搜索模式是根据函数名构建的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26496570/