2.8操作⏱ 约 4 分钟
跨文件夹搜索(grep -r)
不知道在哪个文件?翻遍整个文件夹
🔎 最后验证 2026-05📚 来源:通用计算机常识✅ 169 人学过👁 324 次阅读
为什么学这个
真实项目有几十上百个文件。你记得代码里写过某个词,却忘了在哪个文件——这时候 grep -r 帮你把整个文件夹翻个底朝天。这是你在真实项目里会天天用的能力。
💡 打个比方
普通 grep 是在一页纸上找词;grep -r 是把整个抽屉里的每一页都翻出来找,还告诉你"在哪一页的哪一行找到的"。
grep -r 关键词 文件夹= 在该文件夹及其所有子文件夹的每个文件里搜索-r= recursive(递归),意思是"连子文件夹一起搜"- 结果会显示成
文件路径:匹配的那一行,直接告诉你在哪 - 不写文件夹时,默认搜当前文件夹:
grep -r 关键词 . - ⚠️ 两个新手必踩点:① grep 默认区分大小写——搜
todo找不到TODO,想忽略大小写加-i(grep -ri todo .);② 关键词默认按"正则表达式"匹配——含.、*、[等特殊符号时(如config.json)可能多搜/漏搜,想按字面文本搜加-F(grep -rF "config.json" .)
试试:grep -r TODO 项目 —— 看它在哪些文件里找到了 "TODO":
模拟终端(自由练习 · 敲错也不会弄坏任何东西)
🎯 小目标:用 grep -r 在 项目 文件夹里找出所有写了 TODO 的地方
试着随便敲敲:ls、cd 项目、mkdir 测试、cat 笔记.txt … 输入 help 看全部命令。
~ $
❓ 测验
你想在'项目'文件夹的所有文件里找含'TODO'的行,怎么敲?
⚠️ 避坑在大项目里 grep -r 别忘了排除依赖目录
真实项目里有 node_modules 这类巨大的依赖文件夹,直接 grep -r 会搜到天荒地老、还刷出一堆无关结果。实战中常用 --exclude-dir=node_modules 跳过它(现在了解即可,后面用到再细学)。
🤖 用 AI 巩固这一节
我学了 grep -r。请告诉我在真实代码项目里,grep -r 有哪些高频用途?以及为什么大家常配合 --exclude-dir 或改用 ripgrep(rg)?
✅ 小结
单个命令的本事你攒了一堆。真正的威力在于把它们接起来——下一节学终端里最优雅的概念:管道 |。
下一节 → 用管道串联(|)

都看到这了,打个赏呗!
接下来 · 2.9
用管道串联(|)
继续读下一节 →