#!/usr/bin/env ruby
# Simple ruby script to count the number of scores in each
# category (good/bad). Expects one floating point number
# per line as output by spamprobe score.
threshold = 0.9
if ARGV.size == 1
threshold = ARGV.shift.to_f
end
min_score = 2.0
max_score = -1.0
spams = 0
goods = 0
STDIN.each do |line|
judgement,score_str,digest = line.split
score = score_str.to_f
if judgement == 'SPAM'
spams += 1
else
goods += 1
end
if score > max_score
max_score = score
end
if score < min_score
min_score = score
end
end
total = spams + goods
pct = spams.to_f / (spams.to_f + goods.to_f) * 100.0
printf("GOOD %5d SPAM %5d TOTAL %5d PCT %6.2f MIN %8.6f MAX %8.6f\n",
goods, spams, total, pct, min_score, max_score)
syntax highlighted by Code2HTML, v. 0.9.1