Linux使用grep命令查找多个关键词的常用方法
作者:小月亮
时间:2026-07-01
浏览:13
grep多关键词查找常用方法包括:AND用管道串联多个grep命令,OR用-E加竖线分隔。常用参数包括:-i忽略大小写、-n显示行号、-v反向排除、-r递归查找,组合使用可高效过滤日志。通过此方法可提高查找效率,适用于系统日志、应用日志等多种场景。
本文目录
grep 查找多个关键词有 3 种最常用方法,覆盖精确匹配、模糊匹配、忽略大小写、反向过滤,直接上手就能用。

日常工作里,用 grep 过滤日志或文本时,经常要同时查好几个关键词。怎么操作最高效?我们先来梳理一下。
一、最常用:同时匹配多个关键词(AND 逻辑)
想要所有关键词都匹配上?顺序无所谓,只要它们都在同一行里出现就行。这招其实很简单,但也很实用。
grep "关键词1" 文件名 | grep "关键词2" | grep "关键词3"
举个例子,想在 app.log 里找出同时包含 error 和 2025 的行:
grep "error" app.log | grep "2025"
二、简洁写法:匹配任意一个关键词(OR 逻辑)
有时候需求反过来:只要命中任何一个关键词就行。这里有两种写法。
方法1:-E参数(推荐,最简洁)
grep -E "关键词1|关键词2|关键词3" 文件名
在 app.log 中查找包含 error、warn 或 info 的行:
grep -E "error|warn|info" app.log
方法2:egrep(等价于grep -E)
egrep "关键词1|关键词2|关键词3" 文件名
三、常用扩展参数
光有基础逻辑还不够,实战中经常需要搭配一些参数才能事半功倍。
- 忽略大小写(
-i)—— 匹配时不再区分大小写,省心不少。
grep -Ei "error|warn" app.log
- 显示行号(
-n)—— 定位问题全靠它,一看就知道是哪行出的状况。
grep -En "error|warn" app.log
- 反向查找(
-v,排除关键词)—— 只想看干净日志?把干扰项过滤掉就行。
# 排除包含 error 和 warn 的行 grep -Ev "error|warn" app.log
- 递归查找文件(
-r)—— 一个目录下有几十上百个文件,挨个查太累,直接递归搞定。
# 在当前目录所有文件中查找 grep -Er "error|warn" .
四、完整示例汇总
| 需求 | 命令 |
|---|---|
| 匹配任意一个关键词 | `grep -E "a |
| 匹配所有关键词 | `grep “a” file |
| 忽略大小写+任意匹配 | `grep -Ei "a |
| 递归查找+显示行号 | `grep -Ern "a |
| 排除多个关键词 | `grep -Ev "a |
总结
其实核心就两条主线:
- 或匹配(任意一个):
grep -E "关键词1|关键词2" - 且匹配(全部都要):
grep 关键词1 | grep 关键词2
再配合 -i/-n/-r/-v 这几个参数,无论日志文件多大、关键词多复杂,都能快速定位到想要的内容。这才是真正的完整用法。
作者最新文章
漫蛙漫画app下载入口
2026-10-13 13:18
漫蛙漫画免费下载最新版本
2026-10-13 13:18
漫蛙网页版快捷入口
2026-10-13 13:16
漫蛙manwa2官方网页链接下载最新版v3.57
2026-10-13 13:16
漫蛙manwa在线浏览入口
2026-10-13 13:15
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































