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