Linux でホスト コマンドを使用して IP アドレスをバッチ逆解決する方法は?

Linux でホスト コマンドを使用して 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

関連情報