AWK小记

数据格式如下:

2014-09-11 10:51:19:854 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_search_cv#20140911#1938196#130

2014-09-11 10:51:37:280 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_search_cv#20140911#1938196#130

2014-09-11 11:02:22:680 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_search_cv#20140911#1938196#132

2014-09-11 11:02:28:236 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_search_cv#20140911#1938196#132

2014-09-11 11:02:56:308 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_search_cv#20140911#1938196#132

2014-09-11 10:51:44:341 INFO [http-20002-2] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:51:56:738 INFO [http-20002-2] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:52:40:125 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:52:47:203 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:53:32:243 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:53:43:559 INFO [http-20002-2] com.lietou.common.utility.MonitorLogger | #log_view_cv#20140911#1938196#130

2014-09-11 10:51:53:834 INFO [http-20002-2] com.lietou.common.utility.MonitorLogger | #log_buy_cv#20140911#1938196#1

2014-09-11 10:52:47:048 INFO [http-20002-1] com.lietou.common.utility.MonitorLogger | #log_buy_cv#20140911#1938196#1

2014-09-11 10:53:43:412 INFO [http-20002-2] com.lietou.common.utility.MonitorLogger | #log_buy_cv#20140911#1938196#1

 

 

参数说明:

1:具体时间;2:业务标识;3:具体日期;4:用户ID;5:不同类型

(每天记录一个日志文件)

需求1:

统计猎头不同业务的每天日志数量前10名

awk -F "#" '{if($2=="log_view_cv") {w[$2" "$4]++}} END{for(a in w) {print a, w[a]}}' debug.log | sort -k3nr  | head -n 10> dest.txt

需求2:

统计猎头不同业务的每天不同类型的日志数量前10名

awk -F "#" '{if($2=="log_search_cv") {w[$2" "$4" "$5]++}} END{for(a in w) {print a, w[a]}}' debug.log | sort -k4nr  | head -n 10

需求3:

统计猎头不同业务的每天具体类型的日志数量前10名

more aaa | awk -F "#" '{if($2=="log_search_cv" && $5=="2") {w[$2" "$4]+=1}} END{ for (a in w) {print a, w[a]}}' | sort -k3nr  | head -n 10

 

 

 注意AWK语句:

 awk -F "#" '{if($2=="log_buy_cv") {w[$2" "$4]+=1}} END{ for (a in w) {print a, w[a]}}' aaa | sort -k3nr  | head -n 10 > dest.txt

这条语句的意思是以"|"分割域值,第二列元素为"log_buy_cv" ,group by $2,$4 统计总数量,按输出第三列即统计的总数量倒序排列获取最大的10条数据,输出到指定的文件dest.txt里面,如果不写>dest.txt,则是把得到的结果直接输出到屏幕显示器上。这些统计元素来源于文件aaa。  特别注意:排序sort -k3nr,如果数量小于10,sort -k3r也可以,但是一旦涉及到大于10,不加n不会给出正确的排序结果的。

 

awk -F "#" '{if($2=="log_search_cv") {w[$2" "$4" "$5]++}} END{for(a in w) {print a,w[a]}}' 5*/debug/debug.log.2014-09-23 | sort -k4nr  | head -n 20

统计所有以5开头机器日志记录

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值