Jimwek
Jimwek
采纳率100%
2019-10-25 10:02

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

5
已采纳

处理一个日志文件。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条回答

  • wojiushiwo945you 毕小宝 2年前

    可以用 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列是时间,走循环统计,并打印结果。
    图片说明

    点赞 2 评论 复制链接分享
  • dabocaiqq dabocaiqq 2年前
    点赞 评论 复制链接分享