dig查询dns结果如何只返回ip地址

通常情况下dig可能会在shell脚本中用于获取ip地址,但是有时候域名会有cname解析,得到如下地址:

# dig mail.yahoo.com +short
edge.gycpi.b.yahoodns.net.
69.147.80.15
69.147.80.12

可以看到可能会有多个cname记录和多条ip地址,如果只想得到一个ip地址,可以用tail命令进行处理:

# dig mail.yahoo.com +short|tail -n1
69.147.80.15

如果想得到所有的ip地址,可以进行正则选择:

# dig mail.yahoo.com +short | grep '^[.0-9]*$'
69.147.88.8
69.147.88.7