#!/usr/bin/python import re, sys pattern = re.compile(r'(.*?) .*? \[(.*?)\] "(.*?)" .*? (\S+) "(.*?)" "(.*?)"') # ip timestamp url size referer browser stats = {} for filename in sys.argv[1:]: file = open(filename) for line in file.readlines(): (ip,ts,url,size,refer,browser) = pattern.search(line).groups() url = url.split(' ')[1] stats[refer] = stats.get(refer,0) + 1 file.close() keys=stats.keys() keys.sort() for key in keys: print "%s (%s)" % (key,stats[key])