LoginSignup
0
0

More than 5 years have passed since last update.

dig結果からANSWERをひとつ取り出すメモ

Last updated at Posted at 2017-11-01

digからANSWER(AレコードとPTRレコード)をひとつ取り出したい

正・逆引きをひたすらやって、その結果をサマリする必要があったので、
無理やりawkとsedを使って取り出してみました。

Aレコードを取り出す
dig ... | awk '/;; ANSWER SECTION:/,/^$/' | sed -e '/^$/d' -e '1d' | awk '$4 == "A" {print $NF}' | sed -n 1p
  1. 「ANSWER SECTIONから空白行まで」のかたまりにする
  2. その一行目を消す
  3. 4フィールド目が「A」である場合に、その末尾のフィールドを取り出す
  4. 一行目だけにする

レコード数も取り出したい

レコードをひとつだけ取り出した手前、「実際にはいくつ引けているのか」が分からないので、
Aレコードの数をHEADER?部分から取り出します。

ANSWERの数を取り出す
dig ... | awk -F ':' '{if($3 ~ "ANSWER") print $4}' | sed -e 's/, AUTHORITY//' -e 's/ //'
  1. ":"(コロン)を区切りに指定して、3フィールド目が「ANSWER」である場合に、4フィールド目を取り出す
  2. 「, AUTHORITY」を消去して、4フィールド目のアタマの数字部分だけにする

awkの「○フィールド目が□だった場合、△フィールドを取り出す」というやり方を覚えました。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0