dig の出力に色をつける dig-color

comments(2) | trackback(1)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  dig の出力に色をつける dig-color というのを作ってみました.
  リソースレコードタイプは A/NS/CNAME/SOA/MX のみにしか対応していませんので,そのほかのタイプが必要であれば追加してください.

#!/usr/bin/env ruby

colors = {
    "section" => "02;01",
    "comment" => "37",
    "normal"  => "00",
    "A"       => "32",
    "NS"      => "34",
    "CNAME"   => "36",
    "SOA"     => "33",
    "MX"      => "31",
}

IO.popen("dig " + ARGV.join(" ")) { |io|
    io.each_line { |line|
        color = colors["normal"]
        if line =~ /^;;.+SECTION:$/
            color = colors["section"]
        elsif line =~ /^;/
            color = colors["comment"]
        elsif line =~ /^(.+\s)(SOA|NS|A|MX|CNAME)(\s.+)$/
            color = colors[$2]
            # レコードタイプのみに色を付ける場合
            #line = sprintf "%s\e[%sm%s\e[00m%s\n", $1, colors[$2] ,$2, $3
        end
        printf "\e[%sm%s\e[00m", color, line
    }
}


- 出力例 (この色が見やすいかどうかは……)
  


- 追記
  Perl で書き換えてくれた方がいました.

- dig の出力に色をつける dig-color(perl版) | cafe chantant blog
  http://www.cafechantant.com/blog/2007/07/04/dig-%e3%81%ae%e5%87%ba%e5%8a%9 ...

タグ: [Network][Solaris][FreeBSD][Linux][Ruby]

この記事へのコメント

こんばんは。先ほどトラックバックさせていただいたものです。
『あわせて読みたい』のリンクをたどっていったら辿り着きました。

dig-color便利ですね。ふとRubyがない環境というのは多い気がしたので、Perlで置き換えてみました。

もし問題あれば削除しますのでご連絡ください。

くんきち | 2007/07/04 (Wed) 02:13:20

いえいえ,問題なんて全くありません.

> Rubyがない環境というのは多い気がしたので
確かにそうですね.あまりサーバ環境にデフォルトで入っているのは見たことありませんね.

> Perlで置き換えてみました
ご連絡ありがとうございます.記事に追記させていただきました.

sunaoka | 2007/07/04 (Wed) 17:10:54

この記事へのコメントを書く

名前:

メールアドレス (公開されません):

URL:

コメント (入力必須)

この記事へのトラックバック URL

http://cl.pocari.org/tb.php/2007-06-22-1

この記事へのトラックバック

dig の出力に色をつける dig-color(perl版)

せっかく『あわせて読みたい』の画像をはっつけたので、どんなサイトが「あわせて」読まれてるのかな?ということで、リンクをたどってみたら、こういうのを見つけました。cl.pocari....

cafe chantant blog | 2007/07/04 (Wed) 02:09:14