1

下面是我的输入文件,

Server:         172.16.249.150
Address:        172.16.249.150#53

Non-authoritative answer:
cloud-us-east.digital-element.net       canonical name = usa.cloud.netacuity.com.
usa.cloud.netacuity.com canonical name = us-east.cloud.netacuity.com.
us-east.cloud.netacuity.com     canonical name = de-prod-nacs.elasticbeanstalk.com.
de-prod-nacs.elasticbeanstalk.com       canonical name = awseb-prod-nacs-397853066.us-east-1.elb.amazonaws.com.
Name:   awseb-prod-nacs-397853066.us-east-1.elb.amazonaws.com
Address: 54.243.94.244
Name:   awseb-prod-nacs-397853066.us-east-1.elb.amazonaws.com
Address: 54.243.113.63

我想要一个像下面这样的输出,54.243.94.244 54.243.113.63

只有最后两个IP地址,

输入文件将来可能会有所不同,最后可能有很多IP地址。所以我需要单独排除第一个ip。如何实现这个unix?请提出一些命令。提前致谢。

4

1 回答 1

0

对于给定的输入文件,最直接的方法是:

$ grep "Address:" input.txt  | awk -F: '{print $2}' | tail -2
54.243.94.244
54.243.113.63

或者:

$ nslookup cloud-us-east.digital-element.net  | grep "Address:"  | awk -F: '{print $2}' | tail -2

单行,给 tr 添加一个管道:

$ nslookup cloud-us-east.digital-element.net  | grep "Address:"   | awk -F: '{print $2}' | tail -2 | tr '\012' ' '
54.243.94.244 54.243.113.63

对于“主机”查找:

$ host cloud-us-east.digital-element.net | tr ' ' '\012' | grep -vi "[a-z]"
54.243.113.63
54.243.94.244

编辑:

对于“nslookup”跳过名称服务器:

$ nslookup cloud-us-east.digital-element.net  | grep "Address:" | grep -v "#"  | awk -F: '{print $2}' 
54.243.113.63
54.243.94.244
于 2013-04-10T02:57:11.620 回答