微信中一个抢楼活动结束后,我们可以分析出参加的人数,总的楼层数,回复次数的前20名,时间范围内参人数的分布情况等。
例如从多台机器合并日志文件,每行日志类型下面的格式:
2016-04-05 10:01:43,186 INFO [FloorHandler] – wechat floor start,floorNumber=5,openId,owMbBjnvc3YQ3i9eVBmtTUMDZiNs
1, 统计参加的人数 (按openId去重)
cat roseFloor.txt | awk -F ',' '{print $5}' | sort| uniq | wc -l
2, 根据回复的次数统计前20名:
cat roseFloor.txt | awk -F ',' '{print $5}' | sort| uniq -c |sort -rn | head -n 20
3, 根据时间统计 每分钟回复次数前20名:
cat roseFloor.txt | awk -F ',' '{a[substr($1,0,17)]+=1} END {for(i in a) print i,a[i] | "sort -rnk3"}' | head -n20
因为10:04分左右用户收到了推送消息,所以04,05,06分左右回复的次数最多,然后递减