【工具】使用 sed 根据时间区间摘取日志

文章介绍了如何在公司环境中处理按文件大小分片的日志,特别是当需要查找集中在几秒钟内的特定日志时。作者使用了一个小工具,通过Linux的`sed`命令,演示了如何筛选并重定向特定时间范围内的日志记录到新的文件中,这对于日志分析和故障排查非常有用。示例中展示了`sed`命令的使用方法,并对比了其匹配规则的关键点。
摘要由CSDN通过智能技术生成

前言

公司环境里面的日志是按文件大小分片的,我想找的日志只集中在几秒钟之内。用到了个小工具,现在记录一下。

源文件 (例子)

2023-01-15 15:57:44,585 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcContentNegotiationManager'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcConversionService'
2023-01-15 15:57:44,588 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,738 [main] DEBUG -[AbstractHandlerMethodMapping.java:295]- 
	o.s.b.a.w.s.e.BasicErrorController:
	{ [/error], produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse)
	{ [/error]}: error(HttpServletRequest)
2023-01-15 15:57:44,788 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcUrlPathHelper'
2023-01-15 15:57:44,793 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcPathMatcher'
2023-01-15 15:57:44,795 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'viewControllerHandlerMapping'
2023-01-15 15:57:44,797 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'viewControllerHandlerMapping' via factory method to bean named 'mvcConversionService'
2023-01-15 15:57:44,797 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'viewControllerHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2023-01-15 15:57:44,800 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'beanNameHandlerMapping'
2023-01-15 15:57:44,801 [main] DEBUG -[ConstructorResolver.java:808]- Autowiring by type from bean name 'beanNameHandlerMapping' via factory method to bean named 'mvcConversionService'

目标

2023-01-15 15:57:44,738 [main] DEBUG -[AbstractHandlerMethodMapping.java:295]- 
	o.s.b.a.w.s.e.BasicErrorController:
	{ [/error], produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse)
	{ [/error]}: error(HttpServletRequest)
2023-01-15 15:57:44,788 [main] DEBUG -[DefaultSingletonBeanRegistry.java:225]- Creating shared instance of singleton bean 'mvcUrlPathHelper'

linux 脚本

  • 控制台输出
sed -n '/2023-01-15 15:57:44,738/,/2023-01-15 15:57:44,788/p' demo.log
  • 把筛选的记录重定向到新文件
sed -n '/2023-01-15 15:57:44,738/,/2023-01-15 15:57:44,788/p' demo.log > demo-error.log

Window 运行脚本

有 git 环境利用 gitbash 就可以了
在这里插入图片描述

后记

'/keyA/,/keyB/p'

  • keyA
w
s
s
s
a

keyA 会匹配第一个后会贪婪匹配,比如 keyA = s,keyB = a 以上文本都会被捕获为

s
s
s
a

  • keyB
w
s
s
s
a
a
a

keyB 匹配到首次出现的值就停止,比如 keyA = s , keyB = a 以上文本都会被捕获为

s
s
s
a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值