phiresky /ripgrep-all

rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.

★ 9,912⑂ 224👁 42▤ 12
RustCreated 2019-06-05
9,912
stars
+0+2+36
224
forks
42
watchers
–
prs
–
issues
12
releases
–
discussions

README

rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.

rga is a line-oriented search tool that allows you to look for a regex in a multitude of file types. rga wraps the awesome [ripgrep] and enables it to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc.

[ripgrep]: https://github.com/BurntSushi/ripgrep





For more detail, see this introductory blogpost: https://phiresky.github.io/blog/2019/rga--ripgrep-for-zip-targz-docx-odt-epub-jpg/

rga will recursively descend into archives and match text in every file type it knows.

Here is an example directory with different file types:


demo/
├── greeting.mkv
├── hello.odt
├── hello.sqlite3
└── somearchive.zip
├── dir
│ ├── greeting.docx
│ └── inner.tar.gz
│ └── greeting.pdf
└── greeting.epub


!rga output

 Integration with fzf

!rga-fzf

See the wiki for instructions of integrating rga with fzf.

 INSTALLATION

Linux x64, macOS and Windows binaries are available [in GitHub Releases][latestrelease].

[latestrelease]: https://github.com/phiresky/ripgrep-all/releases/latest

 Linux

 Arch Linux

pacman -S ripgrep-all

 Gentoo Linux

emerge sys-apps/ripgrep-all

 Nix

nix-env -iA nixpkgs.ripgrep-all

 Debian-based

download the [rga binary][latestrelease] and get the dependencies like this:

apt install ripgrep pandoc poppler-utils ffmpeg

If ripgrep is not included in your package sources, get it from here.

rga will search for all binaries it calls in \$PATH and the directory itself is in.

 Windows

Note that installing via chocolatey or scoop is the only supported download method. If you download the binary from releases manually, you will not get the dependencies (for example pdftotext from poppler).

If you get an error like VCRUNTIME140.DLL could not be found, you need to install vc_redist.x64.exe.

 Chocolatey


choco install ripgrep-all


 Scoop


scoop install rga


 Homebrew/Linuxbrew

rga can be installed with Homebrew:

brew install rga

To install the dependencies that are each not strictly necessary but very useful:

brew install pandoc poppler ffmpeg

 MacPorts

rga can also be installed on macOS via MacPorts:

sudo port install ripgrep-all

 Compile from source

rga should compile with stable Rust (v1.75.0+, check with rustc --version). To build it, run the following (or the equivalent in your OS):


~$ apt install build-essential pandoc poppler-utils ffmpeg ripgrep cargo
~$ cargo install --locked ripgrep_all
~$ rga --version     this should work now


 Available Adapters

rga works with _adapters_ that adapt various file formats. It comes with a few adapters integrated:


rga --rga-list-adapters


You can also add custom adapters. See the wiki for more information.



Adapters:

- pandoc
  Uses pandoc to convert binary/unreadable text documents to plain markdown-like text
  Runs: pandoc --from= --to=plain --wrap=none --markdown-headings=atx  
   Extensions: .epub, .odt, .docx, .fb2, .ipynb, .html, .htm

- poppler
  Uses pdftotext (from po

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON