grep awk 搜索日志常用命令
0 grep 常用参数
参考: GNU Grep 3.0
--color:高亮显示匹配到的字符串
-v:显示不能被pattern匹配到的
-i:忽略字符大小写
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息
-A#:after,匹配到的后#行
-B#:before,匹配到的前#行
-C#:context,匹配到的前后各#行
-E:使用ERE,支持使用扩展的正则表达式
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
- m: 匹配多少个关键词之后就停止搜索
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
1 普通:搜索trace.log 中含有ERROR字段的日志
grep ERROR trace.log
2 输出文件:可以将日志输出文件中
grep ERROR trace.log > error.log
3 反向:搜索不包含ERROR字段的日志
grep -v ERROR trace.log
4 向前:搜索包含ERROR,并且显示ERROR前10行的日志
grep -B 10 ERROR trace.log
5 向后:搜索包含ERROR字段,并且显示ERROR后10行的日志
grep -A 10 ERROR trace.log
6 上下文:搜索包含ERROR字段,并且显示ERROR字段前后10行的日志
grep -C 10 ERROR trace.log
7 多字段:搜索包含ERROR和DEBUG字段的日志
gerp -E 'ERROR|DEBUG' trace.log
8 多文件:从多个.log文件中搜索含有ERROR的日志
grep ERROR *.log
9 省略文件名:从多个.log文件中搜索ERROR字段日志,并不显示日志文件名
从多个文件中搜索的日志默认每行会带有日志文件名
grep -h ERROR *.log
10 时间范围: 按照时间范围搜索日志
awk '$2>"17:30:00" && $2<"18:00:00"' trace.log
日志形式如下, $2代表第二列即11:44:58, awk需要指定列
11-21 16:44:58 /user/info/
11 有没有:搜索到第一个匹配行后就停止搜索
grep -m 1 ERROR trace.log
分类:
linux
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2019-06-14 nginx限制流量
2019-06-14 nginx指定允许的IP访问
2019-06-14 redis——持久化篇
2019-06-14 Jenkins 搭建企业实战案例 (发布与回滚)
2019-06-14 Jenkins 自动化部署上线
2019-06-14 查看http的并发请求数及其TCP连接状态
2019-06-14 在调用self对象时,本类调用用Win32Info().collect()