Linux 之 grep 命令行

1. 12个常用且高频的 grep 命令行组合技巧 ,覆盖大部分实际生产场景

1.1 最简单查找

grep "ERROR" /var/log/messages
这是精确查找方式,查找日志里所有包含 ERROR 的行。

1.2 忽略大小写

grep -i "error" /var/log/messages
这是模糊查找方式, -i 参数可以忽略大小写。无论 error 、 Error 、 ERROR 都能搜到。

1.3 显示行号 + 高亮

grep -ni --color=auto "ERROR" /data/tomcat/logs/catalina.out
-n 带行号输出、带高亮,快速定位问题行。

1.4 统计关键字出现次数

grep -c "ERROR" /var/log/messages
输出匹配总次数,而不是具体内容。

1.5 排除干扰信息

grep "ERROR" /var/log/messages | grep -v "DEBUG"
先匹配 ERROR ,再过滤掉 DEBUG 行。 在复杂日志里很常用。

1.6 多关键字组合

grep -E "ERROR|WARN" /var/log/messages
同时查找 ERROR 或 WARN 。

1.7 抽取关键部分

grep -o "ERROR.*" /data/tomcat/logs/catalina.out
只输出匹配片段,比如提取 ERROR 开头的报错内容。

1.8 搜索整个目录

grep -ir "" ./logs
-r 参数是遍历当前目录及目录下所有文件,在代码目录里递归搜索标记。

1.9 限定文件类型

grep -ir --include="*.log" "Logger" ./logs
只搜 .log 文件,避免无关文件干扰。

1.10 查看上下文

grep -C 3 "ERROR" catalina.out
匹配结果前后各显示 3 行上下文。 组合:

-A N 只看后面 N 行

-B N 只看前面 N 行

1.11 实时过滤日志

tail -f catalina.out | grep "ERROR"
生产环境实时盯报错。 组合增强版:

tail -f catalina.out | grep -E "ERROR|WARN" | grep -v "DEBUG"
实时只看 ERROR/WARN ,过滤掉 DEBUG,清爽很多。

1.12 结合 find 精确搜索

find ./ -name "*.log" | xargs grep "OutOfMemory"
在所有 .log 文件里查找 OutOfMemory 报错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值