Repolode
BurntSushi

BurntSushi/ripgrep

一款按行搜索的正则查找工具(命令为 rg),默认遵循 .gitignore 规则递归搜索目录。

Star
69,284
Fork
5,410
未关闭 Issue
220
最近提交
3个月前

这是什么?

ripgrep 是一个命令行工具,可在当前目录中递归搜索正则表达式。默认情况下,它会跳过 .gitignore、.ignore 和 .rgignore 规则中被忽略的文件,以及隐藏文件和二进制文件,适合用于代码搜索。若需关闭这些自动过滤,可使用 rg -uuu。

工具支持按文件类型过滤(如 -tpy、-Tjs)、显示上下文行、同时匹配多个模式、彩色输出以及完整的 Unicode 匹配。可选启用 PCRE2 以支持前后查找和反向引用,并能搜索 UTF-16、latin-1、GBK、Shift_JIS 等编码的文本,也能直接读取 gzip、xz、zstandard 等格式的压缩文件。此外还支持自定义预处理过滤器和配置文件。

ripgrep 支持 Windows、macOS 和 Linux,提供预编译二进制文件,并在多个发行版、Homebrew、Chocolatey 等渠道可安装。项目使用 Rust 编写,可通过 cargo 构建。

核心功能

  • 01默认递归搜索,并遵循 .gitignore、.ignore 和 .rgignore 规则。
  • 02自动跳过隐藏文件和二进制文件,也可关闭此过滤。
  • 03按文件类型包含或排除特定语言和格式。
  • 04可选 PCRE2 引擎,支持前后查找和反向引用。
  • 05支持搜索非 UTF-8 编码文本及压缩文件。
  • 06支持 Windows、macOS 和 Linux。

适用场景

  • 在大型代码库中搜索函数名或模式,同时忽略构建产物和第三方依赖。
  • 利用语言类型过滤器,在 Python 或 JavaScript 文件中查找文本。
  • 直接从命令行搜索压缩日志或旧编码的文本文件。

快速上手

  1. 1

    使用 Homebrew 安装 ripgrep

    brew install ripgrep
  2. 2

    在当前目录中搜索模式(二进制名为 rg)

    rg PATTERN

使用前须知

  • 不符合 POSIX 标准,也不如 grep 普遍可用,需要便携性时 grep 仍是更好的选择。
  • 默认会跳过隐藏文件、二进制文件和 gitignore 忽略的文件,可能与习惯 grep 行为的用户预期不同。

标签

常见问题

ripgrep 是什么?
一款按行搜索的正则查找工具(命令为 rg),默认遵循 .gitignore 规则递归搜索目录。 ripgrep 是一个命令行工具,可在当前目录中递归搜索正则表达式。默认情况下,它会跳过 .gitignore、.ignore 和 .rgignore 规则中被忽略的文件,以及隐藏文件和二进制文件,适合用于代码搜索。若需关闭这些自动过滤,可使用 rg -uuu。
ripgrep 可以免费使用吗?用的什么许可证?
ripgrep 以 Unlicense 许可证开源。用于商业产品前,请先确认许可证条款。
ripgrep 还在维护吗?
半年内有更新。ripgrep 最近一次提交是在 2026年8月4日。
ripgrep 适合用来做什么?
在大型代码库中搜索函数名或模式,同时忽略构建产物和第三方依赖。 利用语言类型过滤器,在 Python 或 JavaScript 文件中查找文本。 直接从命令行搜索压缩日志或旧编码的文本文件。
ripgrep 怎么安装和运行?
使用 Homebrew 安装 ripgrep: brew install ripgrep 在当前目录中搜索模式(二进制名为 rg): rg PATTERN
在哪里获取 ripgrep?
源代码和安装说明在 GitHub 上:https://github.com/BurntSushi/ripgrep

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目