Linux: ripgrep

10. Juni 2025

Ripgrep (rg) ist ein leistungsstarkes Tool für die rekursive Textsuche, das als moderne Alternative zu grep und anderen Suchtools entwickelt wurde. Das in Rust geschriebene Tool kombiniert hohe Geschwindigkeit mit benutzerfreundlicher Syntax und intelligenten Standardeinstellungen.

Hauptmerkmale

  • Geschwindigkeit: Parallele Verarbeitung und optimierte Algorithmen
  • Unicode-Unterstützung: Native Behandlung von UTF-8-Zeichen
  • Intelligente Defaults: Automatisches Ignorieren von Binary-Dateien und .gitignore-Regeln
  • Flexible Ausgabe: Verschiedene Formatierungsoptionen und Farbunterstützung
  • Regex-Support: Vollständige Unterstützung für reguläre Ausdrücke

Installation

# Ubuntu/Debian
sudo apt install ripgrep

# macOS (Homebrew)
brew install ripgrep

Grundlegende Verwendung

Einfache Textsuche

rg "function"

Durchsucht alle Dateien im aktuellen Verzeichnis und Unterverzeichnissen nach dem Begriff „function“.

Suche mit Dateitypfilter

rg "TODO" --type js
rg "import" -t py

Beschränkt die Suche auf JavaScript- bzw. Python-Dateien.

Reguläre Ausdrücke

rg "function\s+\w+"
rg "\b[A-Z]{2,}\b"

Sucht nach Funktionsdefinitionen bzw. Wörtern in Großbuchstaben.

Erweiterte Funktionen

Kontextanzeige

rg "error" -A 3 -B 2

Zeigt 3 Zeilen nach und 2 Zeilen vor dem gefundenen Begriff an.

Zeilennummern und Spaltenangaben

rg "pattern" -n
rg "pattern" --column

Nur Dateinamen anzeigen

rg "pattern" -l

Invertierte Suche

rg "pattern" -v

Zeigt alle Zeilen an, die das Muster nicht enthalten.

Arbeiten mit .gitignore

Ripgrep respektiert standardmäßig .gitignore-Dateien, wodurch automatisch irrelevante Dateien ausgeschlossen werden:

# Normale Suche (respektiert .gitignore)
rg "pattern"

# Alle Dateien durchsuchen
rg "pattern" --no-ignore

# Versteckte Dateien einschließen
rg "pattern" --hidden

Performance-Optimierungen

Parallele Verarbeitung

rg "pattern" -j 8

Verwendet 8 Threads für die Suche.

Suchtiefe begrenzen

rg "pattern" -d 2
rg "pattern" --max-depth 2

Durchsucht nur bis zur angegebenen Verzeichnistiefe.

Ausgabeformatierung

JSON-Output

rg "pattern" --json

Strukturierte Ausgabe für weitere Verarbeitung.

Kompakte Ausgabe

rg "pattern" --no-heading --no-line-number

Statistiken anzeigen

rg "pattern" --stats

Zeigt Informationen über durchsuchte Dateien und Performance.

Häufige Probleme und Lösungen

Große Dateien werden übersprungen

rg "pattern" --max-filesize 10M

Binary-Dateien durchsuchen

rg "pattern" -a

Symbolische Links folgen

rg "pattern" -L

Fazit

Ripgrep etabliert sich als Standard-Tool für die Textsuche in Entwicklungsumgebungen. Die Kombination aus brutaler Performance, intelligenten Standardeinstellungen und umfangreichen Anpassungsmöglichkeiten macht es zu einer wertvollen Ergänzung im Toolkit erfahrener Entwickler. Die native .gitignore-Unterstützung und die effiziente Regex-Engine verringern sowohl Suchzeiten als auch die Anzahl irrelevanter Ergebnisse erheblich.