如何从文件中快速找到出现频率次数最多的用户?

目前有一个2G的用户日志文件,服务器内存1G,日志里面每行存着一个用户ID(7-10),怎么最快找出出现过最多次的用户ID?

 

1:先用 split切割成小文件
split -l100000 file newfile
2:遍历切割后的文件
for file in *.log
do
awk '{{a[$2]++}END{for(t in a) print a[t],t}}' file >> coutfile.log
done
awk '{a[$2]+=$1}END{{l=asorti(a,b);for(i=l;i>=1;i--)print b[i],a[b[i]]}' countfile.log
如果coutfile还是大 可以在循环中处理下 让他排重几次

你可能感兴趣的:(C语言)