grep 转了半分钟?rg 搜正则到底快在哪

发布时间:2026/10/21 21:57:59
grep 转了半分钟?rg 搜正则到底快在哪 grep 转了半分钟rg 搜正则到底快在哪【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep打开一个三万行的老仓库想找某个工具函数的调用点。grep -r转了半分钟还在爬目录结果里混着 .git 和 node_modules 的噪音。装个 ripgrep命令叫 rg一条命令递归搜正则被 git 忽略的文件默认就不碰——这就是它让人停不下来的原因。rg 默认替你做什么少配置、少踩坑传统 grep 的默认行为很老实不忽略任何东西遇到二进制文件也硬读单线程一个文件一个文件地过。ripgrep 的默认行为是开发者视角.gitignore、.ignore、隐藏目录这些它全看二进制文件直接跳过输出自动带颜色和行号。传统 grepripgrep忽略规则手动写参数默认遵守 gitignore并发单线程多线程遍历目录二进制文件硬读自动跳过上手成本参数多零配置可用落点很实际少写参数少等少被噪音干扰。你不用先想要不要加 -r、要不要排除 .git它替你想好了。5 分钟跑通第一条 rg 搜索 装好后apt、brew、choco 等包管理器都有 ripgrep进任何项目目录直接跑rg fn main -t rust白话解释在 Rust 类型的文件里找fn main-t rust按文件类型筛选等价于只查 .rs 文件。结果自带行号匹配处高亮文件路径清清楚楚。递归是默认行为不用加-r行号默认显示不用加-n。就这么简单不用再背一堆反斜杠参数。用顺手之后才试的三个场景项目里有些生成目录 gitignore 没覆盖在项目根放一个.rgignore写法跟 gitignore 一样全团队共享/target/ *.log只想看哪些文件命中不想看行内容rg -l TODO只列文件名rg -c TODO给每个文件直接计数。适合先摸个大概、再决定细看哪个文件。要把结果喂给脚本或编辑器切 JSON 输出机器可读管道里怎么加工都行rg -j TODO | jq -r .[].data.lines.textJSON 输出的构造在 crates/printer/src/json.rs字段结构稳定写解析脚本不慌。rg 快在哪并行与跳过机制 别把速度全归因于Rust 天生快它的加速是分层的。并行遍历目录不是一个人从头翻到尾而是多个线程各领一片目录树调度实现在 crates/ignore/src/walk.rs用 work-stealing 队列让空闲线程去抢别人的活核数越多越快。跳过机制二进制文件默认根本不打开gitignore 里的目录连 stat 都省了。大型仓库 90% 的路径在这一层就被甩掉。内存映射大文件用 mmap 交给操作系统的缺页机制不用自己分块读内存占用可控。字面量快速通道像\wfoo\w这种模式会先抽出其中的foo快速定位候选行再只对这几行跑完整正则。这条优化在 crates/regex/src/matcher.rs。一句话概括先扔掉大部分文件再对剩下的文件做更快的匹配。把 rg 顺手融进日常两个今天就能做的小动作。给 shell 加个别名带上你每次都敲的参数alias rgsmrg --smart-case --line-number在编辑器设置里确认全局搜索后端用的是 rg主流编辑器多数默认就是大项目里搜索立刻快一个量级。三个真会撞上的坑颜色消失了rg 只在终端直连时自动开色输出接到管道就变纯文本。想要颜色显式加--coloralways。搜 a.b 搜不出 a.b点、括号、问号在正则里是元字符。想按字面找加-F关掉正则解释。写了 ~/.ripgreprc 却不生效rg 不自动加载用户配置得设RIPGREP_CONFIG_PATH指向那个文件里面每行一个参数比如--smart-case。收束适合所有天天在终端里翻代码的人项目越老、仓库越大它省的时间越夸张。下次 clone 完仓库先试一句rg -t py def 你会知道 grep 那半分钟是怎么过去的。【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询