linux - 使用 grep 查找所有电子邮件

标签 linux grep

如何为“grep”linux 程序正确构建正则表达式,以查找/etc 目录中的所有电子邮件? 目前,我的脚本如下:

grep -srhw "[[:alnum:]]*@[[:alnum:]]*" /etc

它工作正常 - 看到了一些电子邮件,但是当我修改它时,为了捕捉“@”符号前后的一个或多个字符......

grep -srhw "[[:alnum:]]+@[[:alnum:]]+" /etc

..它完全停止工作了

此外,它不会捕获格式为“Name.LastName@site.com”的电子邮件

帮助!

最佳答案

还有一个例子

grep -Eiorh '([[:alnum:]_.-]+@[[:alnum:]_.-]+?\.[[:alpha:].]{2,6})' "$@" * | sort | uniq > emails.txt

此变体适用于 3 级域。

关于linux - 使用 grep 查找所有电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2898463/

相关文章:

bash - 在忽略点字符的正则表达式的同时搜索精确字符串

regex - 使用grep时引用?

python - 通过搜索unix中的所有目录来编译值列表

mysql - 将 SQUID ACL 放入 MySQL DB - 可能吗?

c++ - 为什么 fstream 不能在 Linux 中写入文件?

linux - 用sed(linux)替换多个文件中的URL(文本)

linux - erlang:UNIX 域套接字支持?

python - 使用 python boto 删除 Amazon EC2 实例

linux - grep second pattern 仅当第一个模式存在于特定类型的文件上时

regex - GREP - "dot match newline"选项?