Я собираю IP-адреса из журнала доступа, хочу узнать, откуда эти IP-адреса берутся. Для этого я использую этот скрипт:
cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}'
пример вывода:
1.2.3.4
5.6.7.8
...
Я могу передать результат nslookup
с помощью команды конвейера |
, но результат нелегко прочитать, поэтому я попытался использовать host
команду, но единственным выводом является информация о том, как использовать host
команду.
Как использовать host
команду для пакетного разрешения IP-адресов?
решение1
Вы можете использовать xargs, он преобразует ввод из стандартного ввода в аргументы команды.
Опция -n ограничивает аргументы одним (разделенным новой строкой) и вызывает host несколько раз для каждого из них, поэтому вы можете сделать следующее:
cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' | xargs -n 1 host