主要观点:介绍了 rga 工具,它是基于 ripgrep 实现的能在多种文件类型中搜索正则表达式的工具,可递归搜索包括 PDF、docx、sqlite、jpg、zip 等文件,还能通过 OCR 搜索 jpg/png 图像和扫描的 pdf,提供了 Linux、Windows 和 OSX 二进制文件及安装方法,介绍了技术细节和未来工作方向,以及类似工具。
关键信息:
- 2019 年 6 月 16 日发布,2022 年 7 月 31 日最后更新,GitHub 链接为 https://github.com/phiresky/b...。
- rga 可通过 --pre=rga-preproc 和 --pre-glob 等选项运行 ripgrep,能匹配文件的适配器基于文件名或 MIME 类型。
- 一些适配器运行外部二进制文件,如 pandoc 或 ffmpeg,部分使用 Rust 库或绑定,通过 Read 读取文件以流式处理数据。
- 提取时用 ZSTD 压缩数据到内存缓存,小于 2MByte 时写入 rkv 缓存,缓存按 (适配器,文件名,mtime) 键值。
重要细节: - 示例中展示了在 PDF 文件中搜索“GRU”的结果,rga 比
pdfgrep -r
更快,后续运行会缓存文本提取。 - 给出了包含不同文件类型的示例目录及在其中搜索“hello”的结果。
- 提到未来工作包括 7z 适配器、允许 per-adapter 配置选项、更换磁盘 kv-store 缓存、添加测试等。
- 列举了类似工具如 pdfgrep、相关 gist 和 lesspipe。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。