1

所以我使用一个非常简单的表达式来解析文本文件,但我遇到了一个问题,即电子邮件地址中包含的域也在同一个文本文件中与表达式匹配。需要明确的是,我只想返回域地址。

样本

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 测试来验证。

有什么建议么?谢谢

4

1 回答 1

2

如果您的文件包含域和电子邮件地址,请尝试以下行:

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
于 2013-09-08T15:54:32.040 回答