2013-10-17 56 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