Bash/Regex只解析包含域和电子邮件地址的文件中的域名
因此,我使用一个非常简单的表达式来解析文本文件,但我遇到了一个问题,即电子邮件地址中包含的域也在同一文本文件中与表达式匹配。我只想返回域地址 样品Bash/Regex只解析包含域和电子邮件地址的文件中的域名,regex,bash,grep,Regex,Bash,Grep,因此,我使用一个非常简单的表达式来解析文本文件,但我遇到了一个问题,即电子邮件地址中包含的域也在同一文本文件中与表达式匹配。我只想返回域地址 样品 john3525@aol.com brenda392@yahoo.com xyx.net boxers.on.ca helloworlds.co.uk grep -E -o "\b[A-Za-z0-9]+\.[A-Za-z]{2,4}\b" file.txt > file2.txt 将返回我只想返回的样本中的上述所有内容 xyx.net b
john3525@aol.com
brenda392@yahoo.com
xyx.net
boxers.on.ca
helloworlds.co.uk
grep -E -o "\b[A-Za-z0-9]+\.[A-Za-z]{2,4}\b" file.txt > file2.txt
将返回我只想返回的样本中的上述所有内容
xyx.net
boxers.on.ca
helloworlds.co.uk
我认为我需要更具体地说明验证,或者使用某种if或case测试来验证
有什么建议吗?
谢谢如果您的文件仅包含域和电子邮件地址,请尝试此行:
grep -v '@' file
用您的示例进行测试:
kent$ echo "john3525@aol.com
brenda392@yahoo.com
xyx.net
boxers.on.ca
helloworlds.co.uk"|grep -v '@'
xyx.net
boxers.on.ca
helloworlds.co.uk