名称: 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)"}]}}
快速、智能的递归搜索工具。默认遵循 .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
.gitignore,自动跳过二进制文件rg 通常比 grep -r 更快-t 进行文件类型过滤,而非 --includerg pattern -l | xargs tool~/.ripgreprc 中添加自定义文件类型--stats 查看搜索性能统计GitHub 仓库:https://github.com/BurntSushi/ripgrep
用户指南:https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md