Nur zum Vergleich was ich gebastelt hatte (etwas stupide, läuft aber, wenn auch nur für 2 Anwendungsfälle):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | >>> data = None >>> with open('auth.fail', 'r') as f: ... data = f.read() ... >>> lines = data.split('\n')[:-1] >>> ips = dict() >>> names = dict() >>> for line in lines: ... name, ip = line.split(',') ... if name in names: ... names[name] += 1 ... else: ... names[name] = 1 ... if ip in ips: ... ips[ip] += 1 ... else: ... ips[ip] = 1 ... >>> nsort = ((k, ips[k]) for k in sorted(ips, key=ips.get, reverse=True)) >>> for k,v in nsort: ... print(k, v) ... […] >>> nsort = ((k, names[k]) for k in sorted(names, key=names.get, reverse=True)) >>> for k,v in nsort: ... print(k,v) ... […] |
Die Ausgabe der Adressen habe ich mal weggelassen, da ich mit realen Datensätzen rumgespielt habe (Datenschutz und so, ihr kennt das ja…)
Ich hatte mir trotzdem erhofft, das es so eine Software bereits fertig gäbe. Ich meine mein Beispiel war jetzt nur einfach gewählt, aber was, wenn mehr Faktoren zusammenkommen (z.B. die Auswertung von access-logs)? Klar, für den speziellen Anwendungsfall gibt es Software. Die kann aber eben auch nur diesen einen Anwendungsfall und nicht mehr.
Eine Software, die so etwas (halb-)automatisch macht wäre schon praktisch, zumindest manchmal ☺