首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GREP在文件服务器中搜索具有电子邮件地址的所有文件

使用GREP在文件服务器中搜索具有电子邮件地址的所有文件
EN

Stack Overflow用户
提问于 2021-04-28 01:09:59
回答 1查看 136关注 0票数 0

有一个数据泄露,我需要找到文件服务器上的所有文件路径与电子邮件地址。

我在试着

代码语言:javascript
复制
grep -lr --include='*.{csv,xls,xlsx,txt}' "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" * >output.txt

但是,这不会返回任何内容。

如果您能给我一些建议,我将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-05-01 22:29:09

您的grep命令几乎是正确的,只有一些小故障使它无法工作。

首先,为了匹配您的电子邮件正则表达式,您应该使用grep的扩展正则表达式选项-E

接下来,正如in this answer to another question所解释的,您的--include模式在zsh中将不起作用。您需要将结束引号放在大括号之前,如下所示:--include='*.'{csv,xls,xlsx,txt}

最后,如果您想获取服务器上的所有文件,则应该在根目录/上执行此命令,而不是在执行该命令时所在目录中的所有文件/目录上执行此命令,就像对*所做的那样

所以grep命令应该是:

代码语言:javascript
复制
grep -Elr --include='*.'{csv,xls,xlsx,txt} "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /

需要注意的几点:

你不会在them.

  • email pattern matching is rather hard,文件中检测到电子邮件,因为它们是二进制文件,所以grep将不能解析
  • ,在电子邮件解析中有很多特殊情况。您当前使用的电子邮件模式将捕获几乎所有电子邮件,但不是所有电子邮件。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67287659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档