摘要:分享一下grep常用组合。在 Linux/Unix 的日常运维、开发调试、日志分析中,grep 是几乎人手必备的工具。
分享一下grep常用组合。在 Linux/Unix 的日常运维、开发调试、日志分析中,grep 是几乎人手必备的工具。
今天整理了 12个常用且高频的 grep 命令行组合技巧,覆盖大部分实际生产场景。
grep "ERROR" /var/log/messages这是精确查找方式,查找日志里所有包含 ERROR 的行。
2 忽略大小写grep -i "error" /var/log/messages这是模糊查找方式,-i参数可以忽略大小写。无论 error、Error、ERROR 都能搜到。
grep -ni --color=auto "ERROR" /data/tomcat/logs/catalina.out-n带行号输出、带高亮,快速定位问题行。
输出匹配总次数,而不是具体内容。
5 排除干扰信息grep "ERROR" /var/log/messages | grep -v "DEBUG"先匹配 ERROR,再过滤掉 DEBUG 行。 在复杂日志里很常用。
6 多关键字组合grep -E "ERROR|WARN" /var/log/messages同时查找 ERROR 或 WARN。
7 抽取关键部分grep -o "ERROR.*" /data/tomcat/logs/catalina.out只输出匹配片段,比如提取 ERROR 开头的报错内容。
8 搜索整个目录grep -ir "https://www.liyb.com" ./logs-r参数是遍历当前目录及目录下所有文件,在代码目录里递归搜索 https://www.liyb.com 标记。
9 限定文件类型grep -ir --include="*.log" "Logger" ./logs只搜 .log 文件,避免无关文件干扰。
匹配结果前后各显示 3 行上下文。 组合:
-A N 只看后面 N 行-B N 只看前面 N 行tail -f catalina.out | grep "ERROR"生产环境实时盯报错。 组合增强版:
tail -f catalina.out | grep -E "ERROR|WARN" | grep -v "DEBUG"在所有 .log 文件里查找 OutOfMemory 报错。
来源:心平氣和