Grep

greping 文件問題

  • March 17, 2010

我一直在使用 grep 執行一些 PII 掃描,雖然它正在尋找結果,但它確實發現了太多誤報。

有沒有一種方法可以告訴 grep 不要觸發文件匹配,除非它包含其他數據?

例如,我可以告訴它不要在 SSN 的正則表達式上觸發警報,除非文件在文件的其他位置包含諸如“ssn”或“社會安全號碼”之類的文本?

grep -lZ ssn files_to_search | xargs -0 grep what_to_search_for

當然,只需將第一個輸出通過管道傳輸到另一個 grep。Grep for foo 然後 grep for bar,所以你的輸出只會是同時具有 foobar 的行。

grep SSN filename.txt | grep -e "ssn|social security number"

這只會命中大寫的 SSN,然後通過任何帶有 sss 或社會安全號碼的行。小寫。在任何情況下添加 -i 。如果你真的想要 SSN 和 ssn 試試這個;

grep -i SSN filename.txt | grep social.security.number

我喜歡的另一個是只顯示沒有條的行。對 foo 執行 Grep 然後 grep -v bar。只有帶有 foo 的行,也沒有bar。在Windows中使用 GNU grep 2.5.4

引用自:https://serverfault.com/questions/123492