Jimwek 2019-10-25 10:02 采纳率: 0%
浏览 331
已采纳

nginx日志文件统计的命令或脚本

处理一个日志文件。22号一天的日志00:00-23:59
输出每个小时的访问量,也就是每个小时都有多少行。
输出格式:
time | 多少行

time | 多少行

求大神写个完整的命令或shell脚本参考一下

日志其中一行

192.168.1.1 [22/Oct/2019:23:58:54 +0800] "POST /dasdhj/sadqwda/q.log HTTP/1.1" 200 133 0.022 "-" "Apache-HttpClient/4.3.3 (java 1.5)" "-"
  • 写回答

2条回答 默认 最新

  • 毕小宝 博客专家认证 2019-10-25 10:32
    关注

    可以用 awk 解析后按时间进行分组:https://blog.csdn.net/thenowaiting/article/details/80182465
    根据你的文本样例写了一个:

    awk '{ print $2}' ngix.log  | awk -F ":" '{a[$2]=a[$2]+1} END {for(i in a) { print "time:",i,"count:",a[i]}}'
    

    先按空格分隔得到时间列,在按冒号分隔第2列是时间,走循环统计,并打印结果。
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?