有一个数据泄露,我需要找到文件服务器上的所有文件路径与电子邮件地址。
我在试着
grep -lr --include='*.{csv,xls,xlsx,txt}' "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" * >output.txt但是,这不会返回任何内容。
如果您能给我一些建议,我将不胜感激。谢谢!
发布于 2021-05-01 22:29:09
您的grep命令几乎是正确的,只有一些小故障使它无法工作。
首先,为了匹配您的电子邮件正则表达式,您应该使用grep的扩展正则表达式选项-E。
接下来,正如in this answer to another question所解释的,您的--include模式在zsh中将不起作用。您需要将结束引号放在大括号之前,如下所示:--include='*.'{csv,xls,xlsx,txt}
最后,如果您想获取服务器上的所有文件,则应该在根目录/上执行此命令,而不是在执行该命令时所在目录中的所有文件/目录上执行此命令,就像对*所做的那样
所以grep命令应该是::
grep -Elr --include='*.'{csv,xls,xlsx,txt} "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /需要注意的几点:
你不会在them.
https://stackoverflow.com/questions/67287659
复制相似问题