我有一个包含一堆文件的目录,每个文件包含数百万封电子邮件。
我需要获取所有不符合此模式的电子邮件
[email protected]
x 和 y 是字母。
我现在有了这个,但它与正确的电子邮件不匹配
grep -P -r -x (?![a-z]*\.[a-z]*@enron)
答案1
回答
grep -Evr "[a-z]+\.[a-z]+@enron"
解释
-E
- 使用扩展正则表达式。 (允许使用某些字符而不转义它们)
-v
- 反转火柴。 (所有与模式不匹配的内容都会显示出来)
-r
- 递归搜索文件。
[a-z]+\.[a-z]+@enron
- 你的正则表达式只是用+
而不是*
,因为我预计每个部分中必须有一些字母。