2013-10-17 57 views
-1

我有一个习惯,将其他人留在代码中的printf()调用注释掉,所以我不会用数千行来污染日志,这使得很难看到是否有新的错误消息已被记录。搜索未注释的行

无论如何,代码库有很多printf()语句,但我只想找到那些没有注释掉的语句。它们总是使用两个正斜杠(//)的C++单行注释语法进行注释。

斜杠可能在行的开头,紧挨着之前或之间的任何位置。

例子:

//    printf(…); 
      //printf(…); 
     //  printf(…); 

我只想的printf()语句仍在现场比赛:

   printf(…); 
+0

'perl -ne'print if if |^\ s * printf |' * c' –

回答

0

如果你想匹配printf报表时只能用空格前面,那么或许以下将有所帮助:

perl -lne 'print if /^\s*printf/' inFile 
+0

您对这个问题的解释很明显。我太专注于评论部分。谢谢。 – Mark

+0

@MarkThalman - 非常欢迎您! – Kenosis

1
grep printf <code files> | grep -v '^[[:space:]]*//' 
+0

我正在寻找匹配包含NSLog并且未被注释掉的行。这个正则表达式匹配以注释开头的所有行。 – Mark

+0

@MarkThalman:否,'-v'将这些行过滤掉(反转匹配)。 – nneonneo

+0

是你的-1还是别人的?你是否尝试过这些代码? – nneonneo