DNSクエリからIPアドレスのみを抽出する方法

DNSクエリからIPアドレスのみを抽出する方法

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

クエリするドメインがCNAMEで、digが中間解析ステップを印刷するため、dig +short2行の出力があると思います。smtp.mydomain.netsmtp.ggs.mydomain.net

ただし、dig出力の最後の行を目的のIPとして使用できるため、次のことを行う必要があります。

dig +short smtp.mydomain.net | tail -n1

答え2

@dhagの答えは良いようです。 「dig出力の最後の行をIPとして使用する」を避けるには、次のようにgrep数値IPアドレスのみを抽出できます。

dig +short smtp.mydomain.net | grep '^[.0-9]*$'

関連情報