Я новичок в Linux и проверяю некоторые навыки написания сценариев с небольшим l oop, который использует grep для анализа полей электронной почты при поиске записей whois. Он ищет поля, которые часто содержат адреса электронной почты владельцев регистрации, а затем удаляет все, что предшествует «@», оставляя только домен владельца регистрации. (В общем, не очень весело, потому что записи whois общеизвестно несовместимы между регионами)
Я бы хотел, чтобы мой конечный результат выводил IP и последующие адреса электронной почты в той же строке .
Вот мой скрипт в его текущей форме:
while read ip
do
echo "$ip"
whois $ip | grep -i orgtechemail | cut -d@ -f 2 | cut -d"'" -f 1 | uniq
whois $ip | grep -i orgabuseemail | cut -d@ -f 2 | cut -d"'" -f 1 | uniq
whois $ip | grep -i e-mail | cut -d@ -f 2 | cut -d"'" -f 1 | uniq
whois $ip | grep -i notify | cut -d@ -f 2 | cut -d"'" -f 1 | uniq
whois $ip | grep -i abuse-mailbox | cut -d@ -f 2 | cut -d"'" -f 1 | uniq
whois $ip | grep -i 'abuse contact' | cut -f 9- -d' ' | uniq
done < $1
Мой текущий вывод выглядит примерно так:
204.154.186.2
bcbsks.com
bcbsks.com
72.165.233.67
centurylink.com
centurylinkservices.net
Но я бы предпочел, чтобы с каждым адресом электронной почты это найдено, он печатает в ту же строку, что и IP-адрес. Например:
204.154.186.2 bcbsks.com bcbsks.com
72.165.233.67 centurylink.com centurylinkservices.net
Я нашел короткую команду awk, которая помогает мне в этом, но не полностью достигает того, что я ищу:
awk '{ORS=NR % 2? " ": "\n"; print}'
Спасибо !