ОБНОВЛЕНИЕ. Все еще открыты решения с использованием nslookup without parallel
, dig
или drill
.
Мне нужно написать скрипт, который сканирует файл, содержащий адреса веб-страниц в каждой строке, и добавляет к этим строкам IP-адрес, соответствующий имени, с помощью команды nslookup
. На данный момент скрипт выглядит так:
#!/usr/bin/
while read ip
do
nslookup "$ip" |
awk '/Name:/{val=$NF;flag=1;next} /Address:/ &&
flag{print val,$NF;val=""}' |
sed -n 'p;n'
done < is8.input
Входной файл содержит следующие веб-сайты:
www.edu.ro
vega.unitbv.ro
www.wikipedia.org
Окончательный вывод должен выглядеть так:
www.edu.ro 193.169.21.181
vega.unitbv.ro 193.254.231.35
www.wikipedia.org 91.198.174.192
Основная проблема, с которой я столкнулся в текущем состоянии сценария, заключается в том, что он берет имена из nslookup
(что хорошо для www.edu.ro), а не использует псевдонимы, когда они доступны. Мой вывод выглядит так:
www.edu.ro 193.169.21.181
etc.unitbv.ro 193.254.231.35
dyna.wikimedia.org 91.198.174.192
Я думал о реализации if-else
для псевдонимов, но я не знаю, как это сделать в текущей команде. Также сценарий можно изменить, если кто-то лучше понимает, как отформатировать nslookup, чтобы он отображался как приведенный вывод.