从电子邮件地址检索主机名

从电子邮件地址检索主机名

我正在尝试查看各个电子邮件并检索主机名。每封电子邮件都有一个“收件人:”部分,其中包含电子邮件地址“ [email protected]”。我正在尝试检索“ aol.com

例如

To: [email protected] (abc123)

To: [email protected],hk (Jim)

To: [email protected]\ (Jim)

预期产出

aol.com

yahoo.com,hk

yahoo.com\

答案1

尝试:

sed 's/.*@\(.*\) .*/\1/g' input

或者:

awk -F '[@ ]' '{print $3}' input

这个保留了最后的空间:

grep -Eo '@.* ' input

答案2

我会使用 GNU grep 的 perl 兼容正则表达式:

grep -oP '(?<=@)\S+'

答案3

您可以保持简单并使用 cut:

cut -d'@' -f2

例如,如果您将这些电子邮件放在一个名为 emails.txt 的大文件中:

grep 'To:' emails.txt | cut -d'@' -f2

相关内容