7

尾行しているログに入る IP のリストがあるとします。

1.1.1.1
1.1.1.2
1.1.1.3 

それらをホスト名に簡単に解決したいと思います。できるようになりたい

tail -f access.log | host - 

ホストがこのように標準入力からの入力を理解しないため、これは失敗します。静的ファイルを作成したり、perl/python/etc. にフォールバックしたりする必要がない最も簡単な方法は何ですか?

4

4 に答える 4

24

使用xargs -l:

tail -f access.log | xargs -l host
于 2009-08-07T20:23:36.980 に答える
5

readビルトインを使用することもできます。

tail -f access.log | while read line; do host $line; done
于 2009-08-07T20:24:20.177 に答える
3

cat以下のコマンドでは、必要に応じてなどに置き換えtail -fます。

使用host:

$ cat my_ips | xargs -i host {}
1.1.1.1.in-addr.arpa domain name pointer myhost1.mydomain.com.
1.1.1.2.in-addr.arpa domain name pointer myhost2.mydomain.com.

使用dig:

$ cat my_ips | xargs -i dig -x {} +short
myhost1.mydomain.com.
myhost2.mydomain.com.

-iオプション to はオプションをxargs意味することに注意してください-L 1

最初にホストの IP を取得するには、この回答を参照してください。

于 2014-12-18T22:30:54.340 に答える