Linux使用grep命令查找多个关键词的常用方法
作者:会飞的土拨鼠呀
这篇文章主要带大家掌握Linux中grep查找多个关键词的三种常用方法,包括精确匹配、模糊匹配和忽略大小写,助您高效搜索日志文件中的特定内容,需要的朋友可以参考下
grep 查找多个关键词有 3 种最常用方法,覆盖精确匹配、模糊匹配、忽略大小写、反向过滤,直接复制就能用。
一、最常用:同时匹配多个关键词(AND 逻辑)
要求所有关键词都出现才匹配(顺序不限)
grep "关键词1" 文件名 | grep "关键词2" | grep "关键词3"
示例:在 app.log 中找同时包含 error 和 2025 的行
grep "error" app.log | grep "2025"
二、简洁写法:匹配任意一个关键词(OR 逻辑)
满足任意一个关键词就匹配,有 2 种写法:
方法1:-E参数(推荐,最简洁)
grep -E "关键词1|关键词2|关键词3" 文件名
示例:查找包含 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可实现忽略大小写、显示行号、递归、反向过滤
到此这篇关于Linux使用grep命令查找多个关键词的常用方法的文章就介绍到这了,更多相关Linux grep查找多个关键词内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
