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 ...