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 將參數限制為 1(以換行符號分隔),並為每個參數多次呼叫 host ,因此您可以執行以下操作:

cat /var/log/nginx/access.log |awk '{ print $1}'|sort| uniq -c |sort -n -r | awk '{print $2}' | xargs -n 1 host

相關內容