我正在筛选一个.asc文件,试图获取在某个域名注册的所有电子邮件实例,例如'abc.def'作为示例。
我试试这个:
grep -o ,*@abc.def somefile.asc
虽然我知道文件中存在此类电子邮件,但它什么都不做。
我的正则表达式有问题吗?请记住,该文件本质上是一个csv文件,因此前面是逗号。我试过用它来逃避它但仍然没有结果。
答案 0 :(得分:1)
grep -o ,*@abc.def somefile.asc
这会找到零或更多逗号,然后是@abc
,然后任何字符(因为点未转义),然后def
在任何行中
你可能想要的是:
grep -oE '[^[:blank:]@,]+@abc\.def' somefile.asc
[^[:blank:]@,]+
:使用否定括号表达式匹配任何非空白字符以及@
和@
@
:匹配文字@
abc\.def
:匹配文字文字abc.def
(注意必须如何转义点以匹配文字.
)