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