grrep

Apache-2.0 Go 1.25

A small and fast recursive grep written in Go.

Honors .gitignore. Skips the block managed by gitjoin, so repositories joined into a virtual monorepo stay searchable as one tree.

install

go install github.com/bep/grrep@latest
$ grrep 'BA[RZ]'
./words.txt:1:BAZ
./words.txt:3:BAR
./more/words.txt:1:BAR

fast

Linux kernel · 118 000 files · pattern [A-Z]+_SUSPEND as a whole word · median of seven runs.

ugrep1.184s
grrep1.664s
ripgrep3.467s

source

github.com/bep/grrep

What is grrep?

grrep is a small, fast, recursive grep written in Go. It honors .gitignore and .ignore files in your search tree, but skips the block managed by gitjoin — so repositories joined into a virtual monorepo remain searchable as one tree.

Why grrep?

A normal grep refuses to descend into .gitignore’d directories. Tools like gitjoin list joined repositories there. grrep recognises gitjoin’s managed section and looks past it, so a virtual monorepo stays one searchable tree without giving up the safety of .gitignore.

Features

Install grrep

go install github.com/bep/grrep@latest

Source code, releases, and documentation live on GitHub: https://github.com/bep/grrep.