rga:ripgrep,但也可在 PDF、电子书、办公文档、压缩文件(zip、tar.gz 等)中进行搜索。

主要观点:介绍了 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。
阅读 12
0 条评论