SuperAPI AI 工具集

ripgrep

通用与其它

查看项目

更新于 10-15 20:05

技能介绍

用途:在命令行中用 ripgrep(rg)做快速文本或正则内容搜索,产出可直接复制执行的命令,并说明它匹配什么、跳过什么以及原因。简单对话内查找可先用宿主内置的搜索工具,精确名称、字符串、正则、文件列表、计数和管道输出用 rg;语法结构用 ast-grep,类型解析、引用、导入等语义事实用语言工具。

主要能力:默认递归搜索当前目录,遵循 .gitignore、.ignore、.rgignore(优先级 .rgignore > .ignore > .gitignore),跳过隐藏文件与二进制文件,不跟随符号链接(用 -L/--follow 开启)。过滤升级:-u 关闭忽略规则,-uu 再搜隐藏文件,-uuu 再搜二进制文件;也可用 --no-ignore、--hidden、-a/--text。路径参数、-g 通配(! 取反,需加引号)、-t/-T 类型过滤、--max-filesize、--max-depth 控制范围。正则默认引擎保证线性时间,不支持环视和反向引用;-P/--pcre2 支持但可能灾难性回溯,需 rg --version 显示 +PCRE2;--engine auto 自动回退。-F 字面量、-w 词边界、-x 整行、-i/-s/-S 大小写、-U 多行(配合 --multiline-dotall)。输出支持 -A/-B/-C 上下文、-o 仅匹配文本、-r 重写输出、--json、--vimgrep、--column、-l、-c、--count-matches、--stats;管道时默认去掉颜色与行号,可用 --color=always、-n、--heading 强制。并行导致输出顺序不确定,--sort path 可稳定但关闭并行。

使用方式:先写最简命令,字面量优先 -F;范围重要时用 --files 加 -g/-t 预演文件集;先在窄路径运行再扩大。复杂或 shell 不友好的模式可每行一个写入文件,用 -f patterns.txt(模式取或),Windows 下文件存为无 BOM 的 UTF-8。Windows 引号:cmd.exe 只用双引号,% 写成 %%;PowerShell 正则优先单引号;Git Bash/MSYS2 以 / 开头的参数可能被路径转换,可用双斜杠或 MSYS_NO_PATHCONV=1。UTF-16 文件按 BOM 自动转码,无 BOM 时用 -E 指定。

限制:-r/--replace 只改输出,ripgrep 不修改文件、没有原地编辑选项;真实替换需用管道配合 sed 或 fastmod 等工具。零匹配通常是默认过滤所致,应先用 --files、--debug、-uuu 诊断再改模式。默认引擎遇到环视或反向引用会在编译时报错。本技能记录的是 ripgrep 15.1.0 行为。详细参数语义、引擎对比、配置文件、预处理器、压缩搜索、编码与 JSON 输出可参考 references/cli_reference.md。