merging uniq -c lists
ndemou at gmail.com
ndemou at gmail.com
Thu Dec 27 18:24:13 EET 2007
αφού ξεπέρασα το πρώτο σοκ με το ότι το python script έβγαζε αρλούμπες
(έφταιγε το byte limit στην readlines) μπορώ να πω ότι:
α) και τα δύο scripts (awk και python) δουλεύουν άψογα (το περιμένατε
αυτό όμως)
β) just for the record το awk είναι 3-4 φορές ταχύτερο (και το "awk
... | sort -nr" 2 φορές ταχύτερο από ένα "αφυδατωμένο" και
τροποποιημένο python script με sorting[1]).
αυτή τη στιγμή το awk script είναι το τέλειο copy-paste hack
(ευχαριστώ v13) αλλά αν ο αλγόριθμος αναπτυχθεί ακόμα περισσότερο θα
περάσω σε python (ευχαριστώ Γιώργο) επειδή κατέχω μόλις τις βασικές
γνώσεις σχετικά με bash scripting και μέχρι πριν λίγο καμία γνώση
σχετικά με awk scripting :)
_________________________________
[1]
import sys
uniq = {}
for l in sys.stdin.readlines():
count = int(l.split()[0])
tag = l.split()[1]
try:
count += int(uniq[tag])
except KeyError:
pass
uniq[tag] = int(count)
for l in sorted(uniq.items(), lambda x, y: cmp(x[1], y[1]),reverse=True):
print l[1],l[0]
More information about the Linux-greek-users
mailing list