首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >为什么 rg "QuickstepLauncher" ./ 可以搜索到 rg "QuickstepLauncher.java" ./ 搜索不到,因为rg是搜

为什么 rg "QuickstepLauncher" ./ 可以搜索到 rg "QuickstepLauncher.java" ./ 搜索不到,因为rg是搜

原创
作者头像
薇芯公重号 AI创造财富
发布2025-10-17 20:17:17
发布2025-10-17 20:17:17
2290
举报

对,你的理解基本正确,但我来帮你详细梳理一下,顺便解释为什么会出现这种情况。


1️⃣ rg(ripgrep)是做什么的

  • rg 默认是 搜索文件内容,而不是文件名。
  • 所以:
代码语言:javascript
复制
rg "QuickstepLauncher" ./
  • 会在 文件内容中搜索 QuickstepLauncher 字符串。
  • 所以能搜索到源码中引用 QuickstepLauncher 的地方,比如类名、方法调用、注释等。

2️⃣ 为什么搜索 QuickstepLauncher.java 搜索不到

代码语言:javascript
复制
rg "QuickstepLauncher.java" ./
  • 这会在 文件内容里查找 "QuickstepLauncher.java" 这段文字,而不是文件名。
  • 如果源码文件里没有写明这个完整文件名,自然搜索不到。
  • 也就是说 rg 并不会默认匹配 文件名

3️⃣ 如果想用 rg 搜索文件名

  • 可以加 --files-g 选项,或者使用 --type/--type-add 来配合搜索:
代码语言:javascript
复制
# 方法 1:列出所有文件,然后用 grep 匹配
rg --files | grep "QuickstepLauncher.java"

# 方法 2:直接用 rg 的 -g 模式
rg -g "QuickstepLauncher.java" "" --files
  • 这样就可以按文件名找到文件,而不是内容。

✅ 小结

  • rg 默认搜索 内容,不是文件名。
  • 搜索 "QuickstepLauncher" 可以找到类名或引用,因为它在文件内容里。
  • 搜索 "QuickstepLauncher.java" 需要文件内容里写了这个字符串,否则找不到。
  • 如果你要按 文件名 搜索,记得用 --files | grep-g 选项。

我可以顺便给你写一个 rg 搜索文件名和内容的快速命令集合,方便你以后在 AOSP/MTK 源码里查文件和类。

你希望我写吗?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1️⃣ rg(ripgrep)是做什么的
  • 2️⃣ 为什么搜索 QuickstepLauncher.java 搜索不到
  • 3️⃣ 如果想用 rg 搜索文件名
  • ✅ 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档