apache日志分析问题
时间:2011-06-24
来源:互联网
现在的格式如下:
[22/Jun/2011:22:00:22 +0800] 406
[22/Jun/2011:22:03:37 +0800] 309
[22/Jun/2011:22:03:45 +0800] 402
.......
现在需要将没一分钟的后面的数字(即上面 405 309 402) 相加 等到如下类型的结果
[22/Jun/2011:22:00 相加结果
[22/Jun/2011:22:01 相加结果
[22/Jun/2011:22:02 相加结果
[22/Jun/2011:22:03 相加结果
即没一分钟内的相加结果
求教了
作者: xiachunmen 发布时间: 2011-06-24
- awk 'BEGIN{FS=":| "}{a[$1":"$2":"$3]+=$6}END{for(i in a){print i,a[i]}}' file
作者: liion631818 发布时间: 2011-06-24
- awk -F'[: ]+' -v OFS=":" '{n=$NF;NF-=3;}NR>1&&a!=$0{print a " " b;a=$0;b=0}{a=$0;b+=n}END{print a" "b}'
作者: springwind426 发布时间: 2011-06-24
做题速度不够快啊,被楼上抢先了
作者: ljbzju 发布时间: 2011-06-24

还是做慢点的对啊,空行我没判断, 用$6也够烂的
作者: liion631818 发布时间: 2011-06-24
- awk '{sub(/:[^:]*$/,"",$1)}$1!=v{print v,s;s=0}{v=$1;s+=$3}' file
- awk '{sub(/:[^:]*$/,"",$1);a[$1]+=$3}END{for (i in a) print i,a[i]}' file
作者: ywlscpl 发布时间: 2011-06-24
现在的格式如下:
[22/Jun/2011:22:00:22 +0800] 406
[22/Jun/2011:2 ...
xiachunmen 发表于 2011-06-24 15:23
$ echo '[22/Jun/2011:22:00:22 +0800] 406
[22/Jun/2011:22:03:37 +0800] 309
[22/Jun/2011:22:03:45 +0800] 402' | awk -F':.. .+ ' '{sub("[[]","",$1);t[$1]+=$2}END{for(n in t)print n" "t[n]}'
22/Jun/2011:22:00 406
22/Jun/2011:22:03 711
作者: jason680 发布时间: 2011-06-24
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28