Erlo

高效查日志进阶指南:掌握grep命令的完整技巧

2025-07-28 17:29:02 发布   54 浏览  
页面报错/反馈
收藏 点赞

高效查日志进阶指南:掌握grep命令的完整技巧

查看匹配行前后上下文

1. 查看匹配行及前面N行(-B参数)

有时候我们需要查看异常发生前的上下文,这时可以使用-B(Before)参数:

# 查找NullPointerException,并显示前面5行和后面50行
grep -B 5 -A 50 "java.lang.NullPointerException" a.log

2. 查看匹配行前后N行(-C参数)

-C(Context)参数可以同时显示匹配行前后N行内容:

# 显示匹配行前后各10行
grep -C 10 "java.lang.NullPointerException" a.log

组合使用技巧

1. 实时监控日志并显示上下文

# 实时监控并显示异常前后各20行
tail -f a.log | grep -C 20 "java.lang.NullPointerException"

2. 查找压缩日志中的上下文

# 查找压缩日志中的异常及前后15行
zgrep -C 15 "java.lang.NullPointerException" *.gz

高级应用场景

1. 查找特定时间段的日志

# 查找11:00到11:30之间的异常
grep -C 10 "java.lang.NullPointerException" a.log | grep "2025-07-03 11:[0-3][0-9]"

2. 多条件组合查询

# 查找包含NullPointerException但不包含"expected"的日志
grep -A 50 "java.lang.NullPointerException" a.log | grep -v "expected"

总结表

参数 功能 示例
-B N 显示匹配行前N行 grep -B 5 "error" log
-A N 显示匹配行后N行 grep -A 50 "exception" log
-C N 显示匹配行前后各N行 grep -C 10 "warning" log
-v 反向匹配(排除) grep -v "debug" log
-i 忽略大小写 grep -i "nullpointer" log
-H 显示文件名 grep -H "error" *.log

掌握这些技巧后,你将能够更高效地定位日志中的问题,快速获取完整的上下文信息,而不再局限于单行日志的查看。

本文来自博客园,作者:Micky233,转载请注明原文链接:https://www.cnblogs.com/geek233/p/19009296

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认