🔍 grep 常用命令速查指南
grep 是 Linux 中最常用的文本搜索工具,用于在文件或标准输出中快速定位匹配内容,特别适合日志分析、数据排查、JSONL 文件检索。
1. 基本用法
| 命令 |
说明 |
grep "text" file |
在文件中搜索文本 |
grep "text" * |
在当前目录所有文件中搜索 |
grep -r "text" . |
递归搜索当前目录 |
2. 最常用参数
| 参数 |
说明 |
-r |
递归搜索子目录 |
-n |
显示行号 |
-i |
忽略大小写 |
-v |
反向匹配(不包含) |
-l |
只显示文件名 |
-c |
统计匹配行数 |
-w |
精确匹配单词 |
-o |
只输出匹配内容 |
3. 日志排查常用组合
基础日志搜索
带行号(强烈推荐)
递归搜索整个目录
忽略大小写
只看文件名(快速定位)
排除某些内容
4. 进阶用法(非常常用)
只显示匹配内容(不显示整行)
统计匹配次数
显示上下文(日志排查神器)
grep -C 3 "ERROR" app.log
| 参数 |
说明 |
-C 3 |
上下各3行 |
-A 3 |
后3行 |
-B 3 |
前3行 |
5. 管道组合
多条件过滤
grep -rn "id123" . | grep "持仓盘中盯盘监控"
保存到文件
grep -rn "id123" . | grep "持仓盘中盯盘监控" > /tmp/result.txt
6. JSON / JSONL 专用技巧
查 JSONL 关键字段
查 UUID
grep "e05106a3-6372-4b9f-98c6-dc66f677b6c4" *.jsonl
查嵌套内容
grep "持仓盘中盯盘监控(实时)" *.jsonl
过滤 + 精确字段组合
grep -rn "id123" . | grep "持仓盘中盯盘监控"
7. 大文件优化技巧(很重要)
防止卡顿
LC_ALL=C grep -rn "keyword" .
👉 提升 grep 速度(关闭本地化影响)
忽略错误输出
grep -rn "keyword" . 2>/dev/null
限制文件类型
grep -rn --include="*.jsonl" "keyword" .
8. 查找 + 排序 + 去重
去重结果
grep "ERROR" app.log | sort | uniq
统计 Top N
grep "ERROR" app.log | sort | uniq -c | sort -nr | head
9. 最常用组合(建议背下来)
日志排查黄金组合
grep -rn "ERROR" . | less
JSONL 排查
grep -rn --include="*.jsonl" "keyword" . > /tmp/out.txt
less /tmp/out.txt
精准定位
grep -rn "uuid" . | grep "业务关键词"
10. 高频 Top 8(运维必备)
| 命令 |
作用 |
grep -rn |
最常用搜索 |
grep -rl |
找文件 |
grep -C 3 |
上下文 |
grep -i |
忽略大小写 |
grep -v |
排除 |
grep -o |
只显示匹配 |
grep -c |
计数 |
grep \| less |
分页查看 |
🚀 一句话总结
grep = 日志世界的“搜索引擎”,less = “浏览器”,vim = “编辑器”
Comments