news 2026/10/1 2:24:32

ripgrep 文件搜索五大场景:新手从安装到快查的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ripgrep 文件搜索五大场景:新手从安装到快查的完整指南

ripgrep 文件搜索五大场景:新手从安装到快查的完整指南

【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep

ripgrep 是一款文件搜索工具(命令行别名rg),用正则表达式递归搜索整个目录。你只给它一个模式,它就找出当前目录下所有匹配;隐藏文件、二进制文件和.gitignore忽略的文件,默认全部自动跳过。它解决的是每个开发者都熟的问题:你只想看到"该搜的",不想自己琢磨过滤规则。本文按你真正会用到的 5 个场景拆:选装法、记高频命令、用得顺手、出问题时查顺序。

安装方式怎么选:包管理器、预编译包、源码编译

先说结论:除非你要尝鲜最新版或想要 PCRE2 高级语法,包管理器安装最省心。

路径命令适用人群
包管理器brew install ripgrep(macOS)/sudo apt-get install ripgrep(Debian/Ubuntu)/choco install ripgrep(Windows)绝大多数人。依赖自动处理、随时可升级;代价是版本可能落后官方发布一截
预编译二进制下载对应系统的官方预编译文件,放进 PATH 目录用不了包管理器或工具链,但想要最新发行版;比包管理器多一步搬运工作
源码编译git clone https://gitcode.com/GitHub_Trending/ri/ripgrep后执行cargo build --release要最新版或高级语法。编译时加--features pcre2可启用 PCRE2;门槛是先装好 Rust 工具链

装完用一条 10 秒命令验证:直接跑rg --version,能打出版本号(当前 15.2.0)和编译特性开关状态就没问题。它也是查看 PCRE2 等特性是否生效最快的方式。如果好奇官方是怎么打包的,可以看看配方文件 HomebrewFormula/ripgrep-bin.rb。

rg 日常搜索的 3 条高频命令

只记三条就够覆盖绝大多数日常需求:全盘找、按类型找、精确匹配。

  • rg "pattern":递归搜索当前目录,被 git 忽略的文件自动跳过。最基础的用法,过滤默认开着,结果通常很干净。
  • rg -t rust "fn main":只搜 Rust 文件。-t限定文件类型,不确定有哪些类型可以先用rg --type-list看一遍。
  • rg -i -w "TODO":-i忽略大小写,-w整词匹配,TODOList不会被误命中。找标记时这个组合最实用。

它同时支持一次传多个模式,每条--pattern各搜一个,结果聚合在一起输出。

进阶选项:从"能用"到"顺手"

会用之后,再用这几个开关省时间,每条都是一行命令。

  • -n:显示行号,方便编辑器跳转;配合-H同时显示文件名,跨文件结果更好认。
  • -A 3/-B 2/-C 2:显示匹配后 3 行 / 前 2 行 / 前后 2 行,用来快速看上下文;图省事用-C 2。
  • rg --files:不搜内容,只列出会被搜索的文件。大搜索开始前先圈一下范围,能避免白跑。
  • -g "*.rs":glob 通配过滤,配合--max-depth 3限制递归深度,范围收得更窄。
  • -P:切换到 PCRE2 引擎,支持环视与后向引用;默认引擎不支持这两样,且需要编译时开启 pcre2 特性。

💡 可以照做的习惯:先rg --files圈地,再rg -C 2 "pattern"找人,比盲目全盘搜更快。

rg 搜不到结果时的排查顺序

"搜不到"大多不是 bug,而是 rg 的过滤机制在按设计工作。按下面顺序,从最常见到最少见:

  1. 隐藏文件没搜到:rg 默认跳过.git等隐藏目录,加--hidden把它们包含进来。
  2. 二进制文件没搜到:默认判定为二进制就跳过,加-uu连二进制一起搜。
  3. 被.gitignore排除:默认遵守忽略规则,-u关闭忽略规则,-uuu放开全部过滤。
  4. 只想关忽略规则:--no-ignore比-uuu范围窄,仍保留二进制跳过,适合只想翻被忽略文件的场景。

⚠️-uuu属于无差别搜索,大仓库里会明显变慢,确认原因后尽快收窄条件。上面四条都试过还没找到,问题大概率在模式本身,先用更简单的正则验证一下。

rg 常用选项速查表

全文出现过的选项都收在这张表里,用的时候再查,不用背。

选项作用
-i/-w忽略大小写 / 整词匹配
-n/-H显示行号 / 显示文件名
-A N/-B N/-C N显示匹配后 / 前 / 前后 N 行
-t/-T限定 / 排除文件类型
-g "glob"glob 通配过滤
--files只列出会被搜索的文件
--max-depth N限制递归深度
--type-list列出全部可用文件类型
--hidden包含隐藏文件和目录
--no-ignore关闭.gitignore排除
-uu/-uuu包含二进制文件 / 关闭全部过滤
-P使用 PCRE2 正则引擎

想要全部参数说明,直接跑rg --help即可,帮助文本源码在 crates/core/flags/doc/help.rs,对照着读更能加深理解。

收尾与延伸阅读

rg 的价值在默认行为:它遵守.gitignore、跳过隐藏与二进制文件,所以在干净的 git 仓库里,一句rg "xxx"基本就是你要的结果,过滤规则不用你操心。用一段时间后会发现,这个工具最省心的地方就是"它替你想了过滤的事"。接下来可以把-t和-g组合出自己的搜索预设,或者到 FAQ 里看看默认行为背后的更多解释。

  • 项目说明:README.md
  • 完整用户指南:GUIDE.md
  • 常见问题:FAQ.md
  • 版本更新记录:CHANGELOG.md

【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 2:24:18

无感FOC低速零速场景下的高频注入HFI调试:信号链到代码落地

做无感FOC的工程师,大概率都被低速场景折磨过。转速一低、负载一重,反电动势观测器就失效,滑模、龙伯格这些中高速手段全都不顶用,这时候高频注入HFI几乎是唯一能在零速和极低速下还能维持位置估计的方案。这篇文章打算换一个讲法…

作者头像 李华
网站建设 2026/10/1 2:20:42

Windows下CLion+ESP-IDF环境搭建:CMake配置与调试全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 2:20:22

Linux下Nvidia驱动与CUDA安装全攻略:从环境准备到版本管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 2:18:13

TVA智能体技术体系概述(7):AI智能体视觉的具身感知与主动视觉浅析

前沿技术探索:TVA智能体(简称TVA) TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习(DRL)、卷积神经网络(CNN)与因式分解算法(FRA),构成了具身智…

作者头像 李华