Agent Skills
返回列表
💻

ripgrep 递归正则搜索工具

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/ripgrep-recursive-regex-search-tool。

技能介绍

为什么需要它

在大型仓库里用传统工具搜索,最常见的痛点不是“正则写不对”,而是搜索过程本身太慢。grep 默认会遍历目录中的大量文件,即使你根本不关心构建产物;ack 和 ag 更快,但在超大代码库或 Monorepo 下仍会遇到明显停顿。另一类问题是噪音:搜索结果里混入 node_modules、dist 或临时目录的无关匹配,让排查成本直线上升。

它如何工作

ripgrep(命令名为 rg)是一个用 Rust 编写的行导向搜索工具,核心能力是按正则表达式递归搜索目录,并在默认情况下遵守 .gitignore 规则。这意味着你可以把搜索范围交给工具:

  • 自动跳过被忽略的目录,如依赖目录、构建产物目录;
  • 按行输出匹配,便于直接定位到具体位置;
  • 默认支持 Unicode,适合中英文混排或多语言代码库;
  • 通过类型过滤把搜索限定到特定语言,例如用 rg -tpy 只匹配 Python 文件;
  • 在源码包或预编译包可用的前提下,rg 可直接作为命令行工具运行。

它不改变你的搜索习惯,而是把“找哪一类文件”这件事前置处理,从而减少无效遍历和无关结果。

适用边界与注意点

这个技能面向“需要快速、可预期的递归正则搜索”的场景,尤其是代码库、文档树、日志目录等结构化文本。它不适合用来做复杂文本变换:ripgrep 是搜索工具,不是编辑器或流处理器,无法完成替换、删除行或批量改写;如果需要替换或编辑,应搭配其他工具。

另外,资料中给出的上游说明很精简,部分使用细节需要参考原始文档。安装与更新建议按上游推荐的源码分发或预编译包方式获取,避免把不完整说明当成完整使用指南。

使用场景

  • 在 Monorepo 中用 `rg -tpy` 只在 Python 文件里定位某个函数调用
  • 在含 node_modules 的前端项目里搜索,避免被依赖目录的匹配淹没
  • 在文档仓库中递归查找中文关键词,不手动写一长串排除目录
  • 在日志目录中按正则抓取错误行,只看匹配到的文本行

适合人员

  • 在大型仓库排查问题的后端工程师,需要快速缩小搜索范围
  • 维护 Monorepo 的开发者,想在忽略目录外可靠地定位符号
  • 处理多语言文档的工程师,需要默认支持 Unicode 的递归检索
  • 管理日志或文本数据的工程师,想按正则批量捞出关键行