分享

awk实现简单日志分析

pergrand 发表于 2016-6-23 21:56:27 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 6642
对于结构化的数据 分析

awk: 文本分析工具gawk awk nawk
sed: 编辑
grep: 查找

pv:page view网站访问量,页面浏览量
uv:独立ip访问数

默认按照分隔符(空格或者制表符)对每行切片

格式:
awk program(程序) file(需要处理的文件)

awk -F: '{print $1}' 文件名 指定分割符:
awk -F: -f 命令的文件 /etc/文件

网站日志分析 统计pv和uv 及访问最多的前十访客

1.数据清洗过程
awk '($7 !~ /\.gif|\.png|\.jpg|\.css|\.js/ && $9 ~ /200/ ){print $1}' access_2013_05_30.log  >> clean_2013_05_30.log
         p排除图片及css和js这些链接网站              匹配200状态有效网站


2.统计pv
awk 'BEGIN{ pv=0} {pv++} END{print "pv:"pv}' clean_2013_05_30.log

或者
awk 'END{print "pv:"NR}' clean_2013_05_30.log

3.统计uv
注意:在使用uniq去重之前先排序
awk '{print $0}' clean_2013_05_30.log | sort -n | uniq -u | wc -l
                                         排序    显示不重复行  统计行数
  sort -nr n按照数值大小排序  r 倒叙排  -k 按照哪列排序

4.当前访问最多的前10名访客                                   按照第一列倒叙排列      
awk '{print $0}' clean_2013_05_30.log | sort -n | uniq -c | sort -nr -k 1 | head -10
                                                  输出行前面加上每行出现次数    取前十名


没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条