web-dev-qa-db-ja.com

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

DNS/DigクエリからIPアドレスのみを抽出する方法を教えてください。私が実行しているクエリは次のようになります。

lab-1:/var/# Dig +answer smtp.mydomain.net +short   
smtp.ggs.mydomain.net
10.11.11.11

IPアドレスだけが返されるようにしたいのですが。私は現在、bashパイプとawkコマンドをいじっています。しかし、これまでのところ、私が試したことは何も機能していません。

ありがとう。

5
dot

クエリしたドメインDig +shortsmtp.mydomain.netのCNAMEであり、Digは中間解決ステップを出力するため、smtp.ggs.mydomain.netは2行を出力すると思います。

ただし、Digの出力の最後の行が目的のIPであると考えられるため、次のようにする必要があります。

Dig +short smtp.mydomain.net | tail -n1
9
dhag

@dhagの答えはいいですね。 「Digの出力の最後の行がIPであることに依存したくない」場合は、grepを使用して数値のIPアドレスのみを抽出できます。

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