ripgrep 是一个以行为单位的搜索工具,它根据提供的 regex pattern 递归地在指定的目录里进行搜索,支持 Windows, macOS 和 Linux 平台。
ripgrep 使用 Rust 语言编写,与同类软件相比,速度更快。
有以下值得关注的特性:
- 自动递归搜索
- 自动忽略 .gitignore 中的文件以及二进制文件
- 可以搜索指定文件类型(
rg -tpy foo
限定 python 文件,rg -Tjs foo
排除 js 文件) - 支持大部分 grep 的 feature
- 支持各种文件编译(UTF-8, UTF-16, latin-1, GBK, EUC-JP
, Shift_JIS 等等) - 支持搜索常见压缩文件(gzip, xz, lzma, bzip2, lz4)
- 自动高亮匹配的结果
- 更少的命令名称 rg (grep 是四个字符)
- 不支持多行搜索和花哨的正则
目前 ripgrep 的最新版本 11.0.0 已正式发布。可以看到最明显也是最突出的变化就是版本号突然由 0.10.0 飙升至 11.0.0。虽然版本号的变化较大,但官方表示不会影响兼容性 —— 即使引入了一些比较大的变更。之所以改变了版本号的命名方式,是因为 ripgrep 以后将会每年发布多个主要版本,0.x.x 的版本命名显然不能体现“主要版本”这个重要信息。
ripgrep 11 作为新的主要版本,更新内容包括错误修复、性能改进和功能增强。此外,该版本还改进了使用 ripgrep 过滤二进制文件的用户体验,支持最低的 Rust 版本也由 1.28.0 增加到 1.34.0。
请发表评论