メールアドレスからホスト名を検索

メールアドレスからホスト名を検索

個々の電子メールを見て、ホスト名を検索しようとしています。すべてのEメールには、「Eメールアドレス」[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 -d'@' -f2

たとえば、これらの電子メールを emails.txt という大容量ファイルに保存する場合:

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

関連情報