dig の出力に色をつける dig-color
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 ...

この記事へのコメント
こんばんは。先ほどトラックバックさせていただいたものです。
『あわせて読みたい』のリンクをたどっていったら辿り着きました。
dig-color便利ですね。ふとRubyがない環境というのは多い気がしたので、Perlで置き換えてみました。
もし問題あれば削除しますのでご連絡ください。
くんきち | 2007/07/04 (Wed) 02:13:20
いえいえ,問題なんて全くありません.
> Rubyがない環境というのは多い気がしたので
確かにそうですね.あまりサーバ環境にデフォルトで入っているのは見たことありませんね.
> Perlで置き換えてみました
ご連絡ありがとうございます.記事に追記させていただきました.
sunaoka | 2007/07/04 (Wed) 17:10:54