侧边栏壁纸
  • 累计撰写 7 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

linux中查找nginx指定时间范围内的日志信息

林凡晨
2022-03-23 / 0 评论 / 0 点赞 / 1,003 阅读 / 485 字
温馨提示:
本文最后更新于 2022-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

需求:在nginx中过滤出凌晨3:18-6:36的日志信息

1、使用sed方式过滤

注意:此方式开始和结束时间必须要在日志中真实存在,否则会匹配不到内容或匹配到末尾

sed -n  '/2022:03:18:/,/2022:06:36:/p' access.log

上面内容匹配完成后要使用grep过滤末尾时间然后合并,因为sed匹配到一条就停止匹配了。会缺少内容。

grep  2022:06:36: access.log|sed '1d'

2、使用awk方式过滤。此方式不会有上面sed的缺陷

awk -F '[/ :]' '$7":"$8>="03:18" && $7":"$8<="06:36"'  access.log

3、使用grep方式过滤

grep -E '2022:03:1[8-9]|2022:03:[2-5][0-9]|2022:0[4-5]:[0-5][0-9]|2022:06:[0-2][1-9]|2022:06:3[1-6]' access.log

缺陷:上述方式时间变化匹配规则调整频繁。

0

评论区