需求:得到玩家流失前最后的操作
方案:
1.db中得到创建时间与最后下线时间是同一天的玩家列表
2.得到玩家所有的协议请求记录
3.将协议请求记录反转
4.提取前几条
具体做法:
1.db操作生成lost_user.txt(具体sql省略);
2.grep "cmd" debug201311280000* | grep client | grep -v 2599 > all_proto.txt
3.tac all_proto.txt > all_proto_reverse.txt
4.awk '{cmd="bash ./get_fist_line.sh "$1;system(cmd)}' lost_user.txt
--------------------------------------------------------------------------------------
备注:
get_fist_line.sh的内容:
#!/bin/bash
grep $1 -m1 all_proto_reverse.txt >> result.txt #去最后一条记录,这里-m后可以跟n