在统计手机或者网站的uv的时候,我们习惯性使用ip来统计uv.但是如果由移动网络切换到wifi或者是其它的情况,其实ip是会改变的,但是实际上的用户还是一个人。所以,需要确定一个唯一不变的字段来统计uv。那么在手机中,比较常用的就是imei.那么我们应该如何使用shell命令来统计一个网站的uv呢?以下就是解决的方案。
zcat hotapps_access.log.gz hotapps-ssl_access.log.gz
|awk '{ if(p1=match($15,"imei")){ imei=substr($15,p1+5,length($15)-p1-5);split(imei,array,"&"); {print (array[1])}} }'
|sort|uniq -c|wc -l
其中,在统计日志中,$15字段表示的就是请求的参数字段。