Есть ли способ в bash / awk распечатать 1-й столбец входного файла (1-й столбец - IPv4s и IPv6s) и преобразовать его в свои имена хостов? - PullRequest
0 голосов
/ 23 марта 2019

Я делаю простой скрипт bash, который в основном работает с файлами и основными функциями bash. Однако я столкнулся с чем-то, с чем не знаю, как справиться Мне нужно преобразовать 1-й столбец входного файла IPv4 / v6 в имя хоста и распечатать его. ж

Я знаю, что для распечатки 1-го столбца полезно использовать awk | Print {print $ 1} ’, и найти хост IP - это хороший nslookup, но я не могу собрать их вместе, чтобы вывести этот столбец IP в столбец HOSTNAME.

Вот так я печатаю 1-ую колонку. Параметр, передаваемый в функцию, является именем файла.

function ip_echo(){
    cat $1 | awk '{print $1}’
}

1 Ответ

0 голосов
/ 23 марта 2019

Вы можете посмотреть здесь , чтобы понять, как это сделать.

Короче говоря, ваша команда должна использовать dig и обратный поиск для перевода IP-адресов в их имена хостов.

Наконец, ваша команда bash должна выглядеть следующим образом -

cat $1 | awk '{print $1}' | while read count ip; do printf "%d " $count; printf "%s " $ip; dig +noall +answer -x $ip; done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...