0

我最初的要求是在每个函数的入口处插入一个打印。由于非常困难,使用正则表达式,我找到了一个部分解决方案,为了实现相同的功能,我需要在我的函数名称后插入 printf。我认为它应该是函数名之后的一行。所以无论我的函数定义(这里的模式是我的函数名)出现,打印应该出现在该函数名之后的第二行(第一行可以是花括号。这就是我选择第二行的原因)

4

1 回答 1

0

1打印每一行。

awk -v fn=main '$2==fn{f=1} f{s++} s==3{print "  printf(\"%i\", 10);"; s=f=0} 1' foo.txt

foo.txt

int main 
{
  return 0;
}

输出

int main 
{
  printf("%i", 10);
  return 0;
}
于 2012-07-27T18:06:44.433 回答