私は仮想ホストを管理するためにDNSを使用しています。そのためには、Hostコマンドを使用してネームサーバーに特定の値を照会する必要があります。例えば:
> Host -t txt mycl1.vz
mycl1.vz.myserver.de descriptive text "1026"
でも必要なのは1026
おしゃべりなしの答えとして。現在、私はsedを使用して次のように削除しています。
| sed -e 's/.*descriptive text "\(.*\)"/\1/'
しかし、これは少し「不安定」に思えます。そもそもプレーンな出力を提供するコマンドがないのではないかと思います。
代わりに 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
Dawudが指摘したように、私の最初の選択はDigです。 'Host'を使用する場合は、sedを次のように置き換えることができます。
cut -d \" -f 2