利用linux命令分析日志文件提取我想要的结果

一个系统每天产生大量的日志文件,

我们常常要从日志文件中提取重要的数据

例如点击量,PV,UV,日活,各种异常出现次数,各个接口调用量等等。

下面举例,我想统计每天发送push,点击量有多少,有多少设备打开过,

查看push日志文件,例如:

 cat pushLog.log | grep "http://t.cn/RUWRDSl" | head

显示如图:

log1

加入我只想查看最后一列,就是只显示token的那一列,下面2条命令都可以实现:

cat pushLog.log | grep "http://t.cn/RUWRDSl" | cut -d ',' -f11 | head

cat pushLog.log | grep "http://t.cn/RUWRDSl" | awk -F ',' '{print $11}' | head

然后排序去重查看数量:

cat pushLog.log | grep "http://t.cn/RUWRDSl" | awk -F ',' '{print $11}' | sort|uniq | wc -l

或者:

cat pushLog.log | grep "http://t.cn/RUWRDSl" | cut -d ',' -f11 |sort| uniq | wc -l

 

如果再按每个设备打开数量 取前10名,

cat pushLog.log | grep "http://t.cn/RUWRDSl" | cut -d ',' -f11 |sort| uniq  -c |sort -rn | head

 

总之,我们能一步一步扩展,能统计出我们想要的结果。

 

发表评论

邮箱地址不会被公开。