Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 获取Ubuntu Linux';s grep是否只从文件中的某个域获取电子邮件?_Regex_Email_Ubuntu_Grep - Fatal编程技术网

Regex 获取Ubuntu Linux';s grep是否只从文件中的某个域获取电子邮件?

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,然后找到任何字符(因为点是未换格的),然后在任何行中

我正在筛选一个.asc文件,试图获得在某个域注册的所有电子邮件实例,例如“abc.def”。
我试试这个:

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
    (注意点必须如何转义才能匹配文字

谢谢,这很有效。我甚至把它简化为“[^[:blank:],]+@abc.def”是的,但点匹配正则表达式中的任何字符