grep文件的问题

我一直在使用grep来运行一些PII扫描,并在find结果的同时,确实发现了太多的误报。

有没有一种方法可以告诉grep不要触发文件匹配,除非它包含其他数据?

例如,我可以告诉它不要触发一个SSN的正则expression式的警报,除非文件中包含文件中的“ssn”或“社会安全号码”文件?

grep -lZ ssn files_to_search | xargs -0 grep what_to_search_for 

当然,只需将第一个输出传递给另一个grep。 grep for foo,然后grep for bar,所以你的输出只能是既有foo又有bar的行。

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

这只会打到大写SSN,然后通过任何行或社会安全号码。 小写。 为任何情况添加-i。 如果你想让SSN和SSN都试试这个,

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

另一个我喜欢的是只显示没有酒吧的线条。 请grep为foo然后grep -v酒吧。 只有foo的行,那也没有吧。 在Windows中使用GNU grep 2.5.4