#!/usr/bin/python import re, sys def parse_file(filename): data = {} for line in open(filename): if re.match('\d', line): (samples, percent, symbol) = line.split() data[symbol] = float(percent) return data data1 = parse_file(sys.argv[1]) data2 = parse_file(sys.argv[2]) delta = {} for symbol in data1.keys() + data2.keys(): delta[symbol] = data1.get(symbol, 0) - data2.get(symbol, 0) def lookup_delta(symbol): return delta[symbol] sorted_deltas = sorted(delta.keys(), key=lookup_delta, reverse=True) if len(sorted_deltas) > 40: sorted_deltas = sorted_deltas[0:20] + sorted_deltas[-20:] for symbol in sorted_deltas: print '%2.3f %s' % (delta[symbol], symbol)