web-dev-qa-db-ja.com

Linux:短い「ホスト」コマンド出力

私は仮想ホストを管理するためにDNSを使用しています。そのためには、Hostコマンドを使用してネームサーバーに特定の値を照会する必要があります。例えば:

> Host -t txt mycl1.vz
mycl1.vz.myserver.de descriptive text "1026"

でも必要なのは1026おしゃべりなしの答えとして。現在、私はsedを使用して次のように削除しています。

| sed -e 's/.*descriptive text "\(.*\)"/\1/'

しかし、これは少し「不安定」に思えます。そもそもプレーンな出力を提供するコマンドがないのではないかと思います。

2
Scheintod

代わりに Dig(1)+shortフラグとともに使用します。

$ Host -t txt google.com
google.com descriptive text "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"

$ Dig -t txt google.com +short
"v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"

引用符を削除する場合は、出力をsedでフィルタリングするだけです。

$ Dig -t txt google.com +short | sed 's/"//g'
v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all
8
dawud

Dawudが指摘したように、私の最初の選択はDigです。 'Host'を使用する場合は、sedを次のように置き換えることができます。

cut -d \" -f 2
1
Bgs