
我正在瀏覽一些 VB 原始檔。我使用以下查詢 -
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" .
然而,有些行帶有註釋,並以單行註釋開頭。 VB 中的單行註解以單引號開頭 - '
不幸的是,我不能簡單地刪除所有包含單引號的行,因為某些行在程式碼行後面有單引號註解。
所以我嘗試了類似的方法來刪除行開頭的單引號
grep -nr "GlobalCommArea\s*=\s*.*\.Transaction" . | grep -v "^\s*'"
然而,這並沒有奏效。這個怎麼做?
答案1
您正在使用grep -n
與行號相符的前綴,因此您的第二個模式"^\s*'"
將永遠不會相符。相反,您可以使用一個正規表示式:
grep -nr "^[^']*GlobalCommArea\s*=\s*.*\.Transaction" .
這會搜尋前面沒有任何單引號的模式實例。