通标准输入到Unix主机或挖命令
问题描述:
比方说,我有我的IP尾矿进入日志列表:通标准输入到Unix主机或挖命令
1.1.1.1
1.1.1.2
1.1.1.3
我想轻松地解决他们的主机名。我希望能够
tail -f access.log | host -
由于主机不能理解stdin的输入,所以会失败。无需编写静态文件或回退到perl/python/etc,最简单的方法是什么?
答
使用xargs -l
:
tail -f access.log | xargs -l host
答
在下面的命令,如果需要更换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.
使用:
$ cat my_ips | xargs -i dig -x {} +short
myhost1.mydomain.com.
myhost2.mydomain.com.
注意,-i
选项xargs
意味着-L 1
选项。
要首先获取主人的IP,请参见this answer。
这将实际上打嗝,因为主机实际上将运行与 主机1.1.1.1 1.1.1.2 导致DNS无效DNS服务器上查找。设置“-d”\ n'“似乎没有任何帮助。 – tomasz 2009-08-07 20:53:47
使用“xargs -l”(或“xargs -L 1”)确保该命令针对每一行运行。 – 2009-08-07 22:56:54