從電子郵件地址檢索主機名

從電子郵件地址檢索主機名

我正在嘗試查看各個電子郵件並檢索主機名稱。每封電子郵件都有一個「收件者:」部分,其中包含電子郵件地址「[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

相關內容