在linux下如何使用host命令批量反向解析ip地址?

在linux下如何使用host命令批量反向解析ip地址?

我从访问日志中获取 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

相关内容