# avg.rb shard_count_key = "__SHARD_COUNT__" STDIN.set_encoding 'utf-8' STDOUT.set_encoding 'utf-8' w = {} c = {} w.default = 0 c.default = 0 while line = STDIN.gets key, val = line.split /\s/ w[key] += val.to_f c[key] += 1 end if ARGV.size == 0 shard_count = w["__SHARD_COUNT__"] else shard_count = ARGV[0].to_f end w.each_key { |k| if k == shard_count_key puts "# shard count: #{shard_count.to_i}" else puts "#{k}\t#{w[k]/shard_count}" puts "# #{c[k]}" end }