Вывести вывод grep в строки - PullRequest
1 голос
/ 08 апреля 2020

Я новичок в 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}'

Спасибо !

1 Ответ

0 голосов
/ 09 апреля 2020

Добро пожаловать в stackoverflow.

  1. Первая команда в l oop:
     echo -n "$ip"

, которая избавляется от первой новой строки (между IP и первый найденный домен)

Для каждой строки whois:

(пример)

DOMAIN=`whois $ip | grep -i orgtechemail | cut -d@ -f 2 | cut -d"'" -f 1 | uniq`
echo -n $DOMAIN; echo -n " "

Второй эхо добавляет пробел между найденным доменом без добавления новой строки.

Надеюсь, это поможет.

...