OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  ripgrep: 极速递归文本搜索工具 —— 程序员必备的 rg 指令

ripgrep: 极速递归文本搜索工具 —— 程序员必备的 rg 指令

 
  client ·  2026-02-03 19:07:56 · 3 次点击  · 0 条评论  

名称: ripgrep
描述: 极速文本搜索工具 - 递归搜索目录中的正则表达式模式,并遵循 .gitignore 规则。
主页: https://github.com/BurntSushi/ripgrep
元数据: {"clawdbot":{"emoji":"🔎","requires":{"bins":["rg"]},"install":[{"id":"brew","kind":"brew","formula":"ripgrep","bins":["rg"],"label":"安装 ripgrep (brew)"},{"id":"apt","kind":"apt","package":"ripgrep","bins":["rg"],"label":"安装 ripgrep (apt)"}]}}


ripgrep (rg)

快速、智能的递归搜索工具。默认遵循 .gitignore 规则。

快速开始

基础搜索

# 在当前目录搜索 "TODO"
rg "TODO"

# 不区分大小写搜索
rg -i "fixme"

# 搜索特定文件类型
rg "error" -t py       # 仅 Python 文件
rg "function" -t js    # JavaScript 文件

常用模式

# 全词匹配
rg -w "test"

# 仅显示文件名
rg -l "pattern"

# 显示上下文(前后各 3 行)
rg -C 3 "function"

# 统计匹配数量
rg -c "import"

高级用法

文件类型过滤

# 多种文件类型
rg "error" -t py -t js

# 排除文件类型
rg "TODO" -T md -T txt

# 列出可用类型
rg --type-list

搜索修饰符

# 正则表达式搜索
rg "user_\d+"

# 固定字符串搜索(非正则)
rg -F "function()"

# 多行搜索
rg -U "start.*end"

# 仅显示匹配内容,而非整行
rg -o "https?://[^\s]+"

路径过滤

# 搜索特定目录
rg "pattern" src/

# 通配符模式
rg "error" -g "*.log"
rg "test" -g "!*.min.js"

# 包含隐藏文件
rg "secret" --hidden

# 搜索所有文件(忽略 .gitignore)
rg "pattern" --no-ignore

替换操作

# 预览替换
rg "old_name" --replace "new_name"

# 实际替换(需配合其他工具如 sd)
rg "old_name" -l | xargs sed -i 's/old_name/new_name/g'

性能优化

# 并行搜索(默认自动启用)
rg "pattern" -j 8

# 跳过大型文件
rg "pattern" --max-filesize 10M

# 内存映射文件
rg "pattern" --mmap

常见用例

查找代码中的待办事项:

rg "TODO|FIXME|HACK" --type-add 'code:*.{rs,go,py,js,ts}' -t code

在特定分支中搜索:

git show branch:file | rg "pattern"

查找包含多个模式的文件:

rg "pattern1" | rg "pattern2"

带上下文和颜色的搜索:

rg -C 2 --color always "error" | less -R

与 grep 对比

  • 更快: 通常比 grep 快 5-10 倍
  • 更智能: 遵循 .gitignore,自动跳过二进制文件
  • 更好的默认设置: 递归搜索、彩色输出、显示行号
  • 更简单: 常用任务语法更简洁

使用技巧

  • rg 通常比 grep -r 更快
  • 使用 -t 进行文件类型过滤,而非 --include
  • 可与其他工具结合:rg pattern -l | xargs tool
  • ~/.ripgreprc 中添加自定义文件类型
  • 使用 --stats 查看搜索性能统计

文档资源

GitHub 仓库:https://github.com/BurntSushi/ripgrep
用户指南:https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor