Regex 获取Ubuntu Linux';s grep是否只从文件中的某个域获取电子邮件?
我正在筛选一个.asc文件,试图获得在某个域注册的所有电子邮件实例,例如“abc.def”。Regex 获取Ubuntu Linux';s grep是否只从文件中的某个域获取电子邮件?,regex,email,ubuntu,grep,Regex,Email,Ubuntu,Grep,我正在筛选一个.asc文件,试图获得在某个域注册的所有电子邮件实例,例如“abc.def”。 我试试这个: grep -o ,*@abc.def somefile.asc 虽然我知道文件中存在这样的电子邮件,但这并没有任何作用 我的正则表达式有问题吗?请记住,该文件本质上是一个csv文件,因此前面有逗号。我尝试用\来转义它,但仍然没有结果 grep -o ,*@abc.def somefile.asc 这将找到零个或多个逗号,后跟@abc,然后找到任何字符(因为点是未换格的),然后在任何行中
我试试这个:
grep -o ,*@abc.def somefile.asc
虽然我知道文件中存在这样的电子邮件,但这并没有任何作用
我的正则表达式有问题吗?请记住,该文件本质上是一个csv文件,因此前面有逗号。我尝试用\来转义它,但仍然没有结果
grep -o ,*@abc.def somefile.asc
这将找到零个或多个逗号,后跟@abc
,然后找到任何字符(因为点是未换格的),然后在任何行中找到def
您可能想要的是:
grep -oE '[^[:blank:]@,]+@abc\.def' somefile.asc
:使用反括号表达式匹配任何非空白字符和[^[:blank:][@,]+
和@
@
:匹配文字@
@
:匹配文字abc\.def
(注意点必须如何转义才能匹配文字abc.def
)