greping 文件问题

greping 文件问题

我一直在使用 grep 运行一些 PII 扫描,虽然它找到了结果,但确实发现了太多误报。

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

例如,我可以告诉它不要在 SSN 的正则表达式上触发警报,除非文件在文件的其他地方包含像“ssn”或“社会安全号码”这样的文本?

答案1

grep -lZ ssn files_to_search | xargs -0 grep what_to_search_for

答案2

当然,只需将第一个输出通过管道传输到另一个 grep。grep 查找 foo,然后 grep 查找 bar,这样你的输出将只有包含 foo 和 bar 的行酒吧。

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

这只会命中大写的 SSN,然后传递任何带有 sss 或社会安全号码的行。小写。添加 -i 以表示任何大小写。如果您确实想要 SSN 和 ssn,请尝试此操作;

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

我喜欢的另一个是只显示有 bar。对 foo 执行 Grep,然后 grep -v bar。只有带有 foo 的行,才会执行不是有吧。使用 GNU grep 2.5.4视窗

相关内容