在Linux中很简单:
awk ‘ {print $1}’ logfile | sort | uniq -c | sort -nr | head -n 5
如何将相同的逻辑转换为Python函数?谢谢。
答案 0 :(得分:0)
您可以使用子流程模块。 在下面的链接中,您可以找到问题的答案。 https://stackoverflow.com/a/13332300/4257838
答案 1 :(得分:0)
您可以使用collections.Counter
来计算唯一IP的出现次数,然后对所得的dict项进行排序和切片:
from collections import Counter
from operator import itemgetter
for i, n in sorted(Counter(l.split()[0] for l in open('logfile').readlines()).items(), key=itemgetter(1), reverse=True)[:5]:
print(n, i)