linux awk 按多列 去重 来统计数据之妙用

这是我日常工作统计日志用到的,现记录下:

比如有这样一个日志:

linux awk 按多列 去重 来统计数据之妙用
 

需要统计push,的点击数量,按cookie去重,因为一个设备可能点击多次

第一步,先看看这几列,打印出来看看,

awk -F "," '{print $2" "$3" "$6" "$7" "$9}' pushLog.log

第二步,按上面的几列去重

awk -F ","  '!a[$2,$3,$6,$7,$9]++'  pushLog.log

第三步, 统计

awk -F ","  '!a[$2,$3,$6,$7,$9]++'  pushLog.log  |awk -F ","  '{a[$2" "$3" "$6" "$9]+=1}END{for(i in a) printf "%s %s\n",i,a[i]}' | sort -k 5 -n -r | head -n 15

结果如图:


linux awk 按多列 去重 来统计数据之妙用
 

相关推荐