Linux下载、安装ripgrep-15.2.0(附安装包ripgrep-15.2.0-x86_64-unknown-linux-musl.tar.gz)

1. ripgrep 简介
ripgrep(命令行调用名为 rg)是由 Andrew Gallant(GitHub 用户名 BurntSushi)于 2016 年创建的面向行搜索工具,使用 Rust 语言编写。Andrew Gallant 为此投入了大约两年的全职工作量,持续打磨至今。ripgrep 在 GitHub 上拥有约 65,000 颗星,全球排名第 271 位,是最受欢迎的 Rust 命令行工具之一。Visual Studio Code 也内置了 ripgrep 作为其代码搜索引擎,足见其行业认可度。
ripgrep 的核心设计目标是:在保持极致搜索速度的同时,提供符合开发者直觉的默认行为。它默认递归搜索当前目录,自动遵循 .gitignore 规则跳过不应搜索的文件,并忽略隐藏文件和二进制文件。与 GNU grep 相比,ripgrep 在开启 Unicode 支持的情况下依然保持极高的搜索速度,而 GNU grep 在启用 Unicode 后性能会大幅下降。
ripgrep 的核心特点:
- 极致速度:基于 Rust 正则表达式引擎,使用有限自动机、SIMD 加速和激进的字面量优化,在多数基准测试中比 GNU grep 快数倍至数十倍
- 智能默认过滤:自动遵循
.gitignore、.ignore、.rgignore规则,跳过隐藏文件和二进制文件(可通过rg -uuu禁用) - 完整 Unicode 支持:始终开启 Unicode,不会像 GNU grep 那样因 Unicode 支持而显著变慢
- 文件类型过滤:
rg -tpy foo仅搜索 Python 文件,rg -Tjs foo排除 JavaScript 文件,支持自定义规则 - 可选 PCRE2 引擎:通过
-P/--pcre2启用,支持环视和反向引用等高级正则特性 - 多编码支持:支持 UTF-8、UTF-16、latin-1、GBK、EUC-JP、Shift_JIS 等多种文本编码
- 压缩文件搜索:通过
-z/--search-zip直接搜索 brotli、bzip2、gzip、lz4、lzma、xz、zstandard 等格式的压缩文件 - 并行目录遍历:使用无锁并行递归目录迭代器,充分利用多核性能
- 配置文件支持:可通过配置文件定制默认行为
- 双许可证:MIT 或 Unlicense
2. 15.2.0 版本亮点
此版本修复了若干与 gitignore 匹配相关的 bug,并在目录树遍历方面进行了性能改进。
平台支持:
- 新增
aarch64-unknown-linux-musl架构的预编译二进制文件
性能改进:
- 改进了超大型语料库的目录遍历时间(PERF #3293)
功能增强:
- ripgrep 现在会尊重
GIT_CONFIG_GLOBAL和GIT_CONFIG_SYSTEM环境变量,允许用户为 ripgrep 使用的 gitignore 处理指定自定义的全局和系统级 Git 配置文件路径(FEATURE #3275)
Bug 修复:
- 使用
--no-ignore时不再检查.jj目录是否存在(BUG #3212) - 修复了跨多个目录搜索时的 gitignore 匹配 bug(BUG #3320、BUG #3376、BUG #3419)
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/224N(内含 ripgrep-15.2.0-x86_64-unknown-linux-musl.tar.gz、README 中英对照、发布说明中英对照和 LICENSE-MIT / UNLICENSE)。
适用于 Linux x86_64(amd64),musl 静态链接。
Linux安装ripgrep-15.2.0(ripgrep-15.2.0-x86_64-unknown-linux-musl).zip
├── ripgrep-15.2.0-x86_64-unknown-linux-musl.tar.gz
├── Linux安装ripgrep-15.2.0(ripgrep-15.2.0-x86_64-unknown-linux-musl).pdf
├── README/
│ ├── README.md
│ └── README-中文版.md
├── 发布说明/
│ ├── RELEASE-NOTES.md
│ └── RELEASE-NOTES-中文版.md
├── LICENSE-MIT
└── UNLICENSE4. 快速开始
解压 ripgrep-15.2.0-x86_64-unknown-linux-musl.tar.gz,将其中的 rg 可执行文件放入 PATH 中的目录(如 /usr/local/bin/),即可在终端中使用。
常用命令
# 验证版本
rg --version
# 在当前目录递归搜索指定模式
rg "pattern"
# 搜索特定文件类型(如 Python)
rg -tpy "pattern"
# 显示匹配结果的上下文(前后各 2 行)
rg -C 2 "pattern"
# 仅列出包含匹配的文件名
rg -l "pattern"
# 搜索压缩文件
rg -z "pattern" archive.tar.gz
# 统计匹配次数
rg -c "pattern"
# 使用 PCRE2 正则引擎
rg -P "(?<=foo)bar"
# 禁用自动过滤(搜索所有文件,包括 .gitignore 忽略的、隐藏的、二进制文件)
rg -uuu "pattern"