通过日志过滤的方法,统计每天内容详情页面的PV数
2024-10-18 20:55:46
1、目的:
每天凌晨0点1分统计用户点击进入内容详情页的次数,对内容点击量形成榜单。
2、分析:
A、/data/log/epg.access.log日志实时打印用户访问页面的日志,并且每天凌晨0点会进行日志切割,将前一天的日志保存为epg.access.log_YYYYMMDD。
B、分析日志发现:用户进入详情页时,/data/log/epg.access.log日志会打印含series_detail.jsp的信息,且内容ID打印在该串信息中的第71位至102位。
C、根据内容ID的点击量从大到小统计排序,输出一个文本文件。
3、脚本实现
#!/bin/bash log_path="/data/log/"
src_ser="epg.access.log"
output_ser="PV"
date_str=`date +%Y%m%d -d '-1 days'`
dst_file=${src_ser}_${date_str}
outputfile=${output_ser}_${date_str}
cd $log_path
awk '{print $11}' $dst_file |grep 'series_detail.jsp' |cut -c71- |sort|uniq -c|sort -nr >> $outputfile
脚本中的第10行是本文重点:
awk '{print $11}':以默认的空格为分隔符,打印第11个字符串内容;
cut -c71-:截取第71位至第102位字符;
sort|uniq -c:sort和uniq结合使用,对文件内容先进行排序,然后进行去重并计数(计数值显示在最左边);
sort -nr:参数n为依照数值的大小排序,参数r为以相反的顺序来排序(即从大到小)。
4、截图
原日志截图:
输出文件截图(第一列为点击量,第二列为内容ID):
最新文章
- 借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘
- Linux学习之Exam系统发布
- poj 2763 Housewife Wind
- 你知不知道 Cookie正在泄露你的隐私!
- pin导致路由器死掉的解决方法
- HDU 1711 Number Sequence KMP
- 如何关闭android studio开发环境自动保存
- ABP领域层——工作单元(Unit Of work)
- Effective C++(17) 以独立语句将newed对象置入智能指针
- php单例模式与工厂模式
- [Swift]LeetCode448. 找到所有数组中消失的数字 | Find All Numbers Disappeared in an Array
- asp.net session锁导致ajax请求阻塞
- Vector 是线程安全的,是不是在多线程下操作Vector就可以不用加Synchronized
- Zsh和oh my zsh的安装和使用
- go module 命令
- DB2错误码
- 兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法
- Python中ndarray数组切片问题a[-n -x:-y]
- Android系统移植与调试之------->build.prop文件详细赏析
- Android(java)学习笔记73:Intent启动Activity
热门文章
- 【leetcode】20.有效的括号
- Python基础教程(第3版) 笔记(二)
- web自动化测试---测试中其他一些常用操作
- EasyNetQ中使用自定义的ISerializer
- .Net RPC框架Thrift的用法
- simhash文章排重
- Linux编程 5 (目录重命名与移动mv,删除文件rm,目录创建mkdir删除rmdir,查看file,cat,more,tail,head)
- 利用python数据分析与挖掘相关资料总结
- EntityFramework附加实体
- [AHOI2005] 航线规划