在 Alpine Linux 上,我想知道如何从 DNS / dig 查询中提取 IP 地址。我正在运行的查询如下所示:
lab-1:/var/# dig +answer smtp.mydomain.net +short
smtp.ggs.mydomain.net
10.11.11.11
我希望能够只返回 IP 地址。我目前正在使用 bash 管道和 awk 命令。但到目前为止,我所尝试的一切都不起作用。
谢谢。
答案1
我相信dig +short
会为您输出两行,因为您查询的域smtp.mydomain.net
是 的 CNAME smtp.ggs.mydomain.net
,并且 dig 会打印中间解析步骤。
不过,您可能可以依赖 dig 输出的最后一行作为您想要的 IP,因此应该执行以下操作:
dig +short smtp.mydomain.net | tail -n1
答案2
@dhag 的回答听起来不错;如果您不想“依赖 dig 输出的最后一行作为 IP”,您可以使用grep
仅提取数字 IP 地址:
dig +short smtp.mydomain.net | grep '^[.0-9]*$'