← 返回目录
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
用管道串联(|)
继续读下一节 →