了解我的awk

了解我的awk

dig 命令已弃用。我正在使用来自 ldns 的 drill。Drill 似乎没有一个简短的选项来仅显示 ip。有人知道我如何才能让它只显示 ip 而不显示其他文本吗?

答案1

找到了一种使用 curl 和 cloudflare 的方法

curl -fSs https://1.1.1.1/cdn-cgi/trace | awk -F= '/ip/ { print $2 }'

答案2

dig看起来+short像这样:

$ dig +short example.com
XXX.XX.XX.XXX

因此,您可以简单地执行以下操作:

$ drill example.com | awk '{if(NF > 0 && substr($1,1,1) != ";") print $NF }'
XXX.XX.XX.XXX

了解我的awk

if (NF > 0)  # If the line is not empty
if (substr($1,1,1) != ";") # If the first character is not `;`
print $NF # Print the last column.

答案3

这里的聚会有点晚了,但看起来drill~现在~有一个-Q(“安静”)标志,其功能与 dig 的相同+short

$ drill -Q superuser.com
104.18.8.56
104.18.9.56

更新:看起来这个功能已经存在ldns至少是 1.0.0 版本。您可能只是在研究中错过了它,因为drill它的目标并不是成为 的 100% 替代品dig


上一个答案

有点令人惊讶的是,这个功能显然2005 年承诺,但不是在发布版本中至 2021 年 11 月

我不确定是什么原因导致它(和其他提交)搁置了 16 年,但至少你drill现在有一个原生解决方案!

相关内容