이메일 주소에서 호스트 이름 검색

이메일 주소에서 호스트 이름 검색

개별 이메일을 살펴보고 호스트 이름을 검색하려고 합니다. 각 이메일에는 이메일 주소가 " [email protected]"인 To: 섹션이 있습니다. " 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

관련 정보