适合重复执行的本地搜索
ripgrep 的命令名是 rg,可用于 Windows、macOS 和 Linux。它递归搜索目录,支持正则表达式。主要价值是通过简洁、可重复的命令,就近搜索本地项目文件。开发者、技术文档作者,以及维护大量文本的人都适合使用。本文根据官方记录的行为进行编辑评估,没有声称进行独立速度测试。
先从固定字符串搜索开始
在有 src 目录的项目里,可以尝试 rg -n -F payment_status src。固定字符串选项会按字面处理搜索词,行号则便于定位。只需要匹配的文件名时,可用 rg -l -F payment_status src。这些是示例命令,应替换搜索词和目录。先选一个已知存在的匹配项,确认搜索范围包含预期文件。
理解文件为何没有出现在结果中
默认过滤会遵守忽略规则,并跳过隐藏文件和二进制文件。这通常能减少噪声,但没有匹配结果不等于文本在任何地方都不存在。先用 rg --files 查看通常会涉及的文件,再有意识地调整搜索范围。只有任务需要时才包含隐藏或被忽略的文件,不要把目录选错误认为搜索表达式错误。
有目的地使用正则表达式
精确标识符和标点搜索通常用固定字符串更清楚。需要模式匹配时才使用正则表达式,并先用短样例验证。默认引擎并不支持所有高级正则功能;构建中包含 PCRE2 时,可通过 -P 选项启用。要在其他电脑上运行的脚本,应写清依赖条件,不能假设所有工具构建都相同。
编辑建议
需要反复搜索本地文本项目、并通过保存命令让同事复现工作时,可以采用 ripgrep。少量粘贴文本或快速转换仍适合浏览器工具。将搜索纳入自动化前,先用有代表性的输入核对匹配结果、文件名和退出状态处理。重视速度时,应测量自己的真实工作量。合理的默认行为与可复现命令,比未经验证的速度倍数更值得作为选择依据。
github.com
