1. file 正则

file: 后面在 cs.android.com 用的是 RE2 正则* 前面必须有一个字符才代表“重复”,单写 * 会被当成“字面量星号”,于是根本匹配不到任何文件名。

使用示例:

file:(.*\\.rc)$ service\\s+servicemanager 

file:servicemanager.rc

2. 加精确短语或正则

"service servicemanager"(带引号) service\\s+servicemanager(正则) 再配 file: 或直接把搜索范围切到 frameworks/native 仓库

3. 正确的四种写法示例

想搜什么 推荐写法 说明
所有 rc 里有没有这行 file:(\.rc)$ service\s+servicemanager file: 用正则,. 不匹配 /,所以用 .*[^/]* 之类才能跨目录。
只看当前目录有没有 rc 匹配 (先点进 frameworks/native/cmds/servicemanager/,搜索框左侧显示当前仓库)service\s+servicemanager 限仓库后不用 file: 也行,行数少不会淹没。
精准到某个文件 file:servicemanager.rc service\s+servicemanager file: 只要给出完整文件名即可,支持路径前缀:file:cmds/servicemanager/servicemanager.rc
不想记正则,只想看文件到底在哪 file:servicemanager.rc 直接列出所有名叫 servicemanager.rc 的文件。

例子

  1. 查找"start servicemanager"在哪里:

  1. 查找 file:servicemanager.rc 在哪里