极速文本搜索

16分钟前更新 1 00
极速文本搜索极速文本搜索
极速文本搜索

技能简介

ripgrep(rg)是一款面向开发者的递归文本搜索工具,基于Rust编写,默认遵循.gitignore规则,自动跳过二进制文件,在大型代码库中搜索速度远超传统grep。

业务背景

开发团队在海量代码库中快速定位关键信息,如查找函数定义、追踪变量使用或排查问题日志。工具自动忽略版本控制无关文件,减少干扰,大幅提升代码审查、故障排查和重构效率,让工程师专注于核心开发工作。

落地案例:某后端工程师需确认用户认证模块中所有调用"token_expired"的位置。输入rg "token_expired" –type py -C 2,工具在数万行Python代码中秒级返回匹配结果,附带前后2行上下文,清晰展示调用场景与处理逻辑,无需手动逐文件翻阅,排查时间从小时级缩短至分钟级。

能做什么

  • 在当前或指定目录递归搜索正则表达式
  • 按文件类型过滤(如仅Python、JavaScript)
  • 大小写不敏感搜索与全词匹配
  • 显示上下文行、仅列文件名或统计匹配数
  • 预览文本替换结果

使用说明

安装指令

# macOS (Homebrew)
brew install ripgrep

# Ubuntu/Debian (apt)
sudo apt install ripgrep

# 验证安装
rg --version

基础用法

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

# 忽略大小写
rg -i "fixme"

# 仅搜索Python文件
rg "error" -t py

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

# 仅输出文件名
rg -l "pattern"

高级用法

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

# 排除特定类型
rg "TODO" -T md -T txt

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

# 忽略.gitignore强制搜索全部
rg "pattern" --no-ignore

# 正则匹配数字编号用户
rg "user_\d+"

# 固定字符串(禁用正则)
rg -F "function()"

输入与输出

见下方输入与输出表格。

项目内容
输入搜索目录路径、正则表达式或固定字符串、文件类型过滤器(可选)、搜索选项参数(可选)
输出匹配行内容(含行号、文件名)、匹配文件列表(-l模式)、匹配统计数(-c模式)、上下文行(-C模式)
适用人群软件开发人员、运维工程师、安全审计人员、技术写作者
不包含文件内容修改功能(仅预览替换)、图形界面操作、远程服务器搜索(需SSH登录后使用)

 

风险提示

  • 默认跳过.gitignore文件,重要配置可能漏检,需用–no-ignore确认
  • 处理超大文件时建议加–max-filesize限制内存占用
  • 替换操作仅为预览,实际修改需配合sed等工具
  • 多行搜索(-U)在大文件中可能影响性能

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/arnarsson/ripgrep/SKILL.md
来源类型:开源社区技能文档

数据统计

相关导航

暂无评论

none
暂无评论...