ripgrep 15.2: rekursive Suche, die Verstecktes und Ballast ueberspringt

Zusammenfassung

ripgrep ist ein in Rust geschriebenes Werkzeug fuer die rekursive Suche. Fassung 15.2 folgt voreingestellt drei Lagen von Regeln zum Auslassen, geht um versteckte Dateien und unnuetze Ordner herum und bietet dennoch Filter nach Typ, eine PCRE2 Maschine und Suche in gepackten Dateien.

Empfehlen
Name
ripgrep
Version
15.2
Preis
Kostenlos
Open Source
Open Source
Betriebssystem
WindowsmacOSLinux
Aktualisiert
2026-10-19 20:58

ripgrep macht die rekursive Suche zur voreingestellten Handlung. Man tippt rg und ein Muster im Wurzelordner eines Projekts, und es sucht im ganzen Baum, waehrend es ausgelassene Ordner, versteckte Dateien und Binaerdateien umgeht. Fassung 15.2 von Juli 2026 ist der aktuelle stabile Bau.

Die Vorgaben nehmen dir das Abziehen ab

In einem einigermassen grossen Projekt ist der Code, den man wirklich sucht, ein kleiner Teil des Baums. Bauergebnisse, Zwischenspeicher der Abhaengigkeiten, Protokolle und fluechtige Dateien des Editors liegen verstreut, und Ordner fuer Ordner einzuschraenken kostet Aufmerksamkeit und laesst trotzdem Luecken. ripgrep, dessen Befehl rg heisst, stellt das Filtern nach vorn. Voreingestellt liest es drei Lagen von Regeln zum Auslassen, aus .gitignore, .ignore und .rgignore, ueberspringt versteckte Ordner und alles, was als Binaer gilt, und sucht nur dort, wo Quelltext plausibel liegt. Nichts davon muss eingestellt werden, und es wirkt, sobald das Programm installiert ist.

Einen Ausweg gibt es, wenn alles sichtbar sein muss. Mit -uuu schaltet sich das automatische Filtern in einem Zug ab, und ausgelassene, versteckte und binaere Dateien kommen alle zurueck in den Bereich. Zurueckhaltend als Vorgabe, offen auf Verlangen, und dieser Tausch zieht sich durch den ganzen Entwurf der Optionen.

Ansicht

Noch eine Ebene enger nach Dateityp

Wenn klar ist, welche Art von Datei gemeint ist, behaelt -t nur den genannten Typ und -T schliesst einen Typ aus. Ein Skript suchen, eine Konfiguration lesen, eine Dokumentation durchgehen, jedes nutzt seinen eigenen Typ, und keine fremde Endung schleicht sich in das Ergebnis. Typen lassen sich ueber den eingebauten Satz hinaus bestimmen, und ein eigener Typ wird nach dem Eintrag mit -t genauso aufgerufen wie ein eingebauter.

Die Maschine fuer regulaere Ausdruecke laesst sich tauschen

Voreingestellt ist die Maschine, die mit Rust kommt. Ihr Umfang an Syntax reicht fuer die Suche im Alltag, und sie faellt nicht in die Falle eines davonlaufenden Ruecklaufs. Wo ein Blick zur Seite oder ein Rueckverweis wirklich noetig ist, schaltet -P auf die PCRE2 Maschine um und diese Formen werden nutzbar. Wer sich den Schalter nicht merken will, laesst das Programm mit --auto-hybrid-regex selbst entscheiden, und --engine nennt die Wahl unter Vorgabe, PCRE2 und automatisch. Der Wechsel aendert nur, was die Syntax ausdruecken kann. Rekursive Suche und das Ueberspringen versteckter Dateien bleiben, wie sie waren.

Auch in gepackten Dateien wird gesucht

Mit -z brauchen sieben gepackte Formate, gzip, bzip2, xz, lz4, lzma, zstandard und brotli, nicht mehr vorher entpackt zu werden, und der Text darin wird wie eine gewoehnliche Datei gefunden. Archivierte Protokolle und gepackte Dokumentation fuer den Betrieb ohne Netz muessen sonst erst ausgepackt werden, und nun geht ein Befehl hindurch.

Fuer binaere Dokumente wie PDF haengt --pre einen Befehl zur Vorverarbeitung an, der die Datei in Text verwandelt, bevor ripgrep sie sieht. Der Befehl ist Ihrer, also ist die Umwandlung nicht eingeschraenkt, und ein eingescanntes Dokument kommt herein, sobald eine Textextraktion gelaufen ist.

Spielraum bei Kodierung und Einrichtung

Text gilt voreingestellt als UTF-8, und UTF-16 Dateien mit BOM werden von selbst erkannt. Fuer latin-1, GBK, EUC-JP oder Shift_JIS nennt man die Kodierung mit -E, statt die Datei vorher umzuwandeln. In einem aelteren Projekt mit Dokumenten in mehreren Kodierungen spart das die Umwege, die sonst die Zeit fressen.

Die Datei der Einrichtung ist eine weitere Erleichterung. Schreibt man die ueblichen Vorgaben hinein, traegt sie jeder spaetere Aufruf mit, und auf der Kommandozeile muss nichts wiederholt werden. Wer rg am Tag viel tippt, kommt damit weiter als mit dem Auswendiglernen von Schaltern.

Woher die Geschwindigkeit wirklich kommt

Keiner der Kniffe ist exotisch. Die Maschine arbeitet mit endlichen Automaten, gestuetzt von SIMD Befehlen und der Vereinfachung woertlicher Stuecke. Eine einzelne Datei wird in den Speicher abgebildet, ein grosser Ordner wechselt auf schrittweises Lesen ueber einen Puffer dazwischen, und das Programm waehlt, was besser passt. Regeln zum Auslassen werden ueber ein RegexSet gegen mehrere Muster zugleich geprueft, das Ueberspringen unnuetzer Ordner kostet also fuer sich wenig. Der Gang durch die Ordner laeuft parallel ohne Sperren. Im veroeffentlichten Vergleich braucht eine Abfrage ueber die gesammelten Sherlock Holmes etwa eine Sekunde.

Fassung und Lizenz

Fassung 15.2.0 erschien am 15. Juli 2026, mit Aenderungen vor allem an einem Fehler beim Abgleich der gitignore Datei bei Suchen ueber Ordner hinweg, dazu besseren Zeiten beim Gang durch sehr grosse Archive. Das Projekt erscheint unter zwei Lizenzen, MIT und Unlicense, der Code liegt oeffentlich auf GitHub, betreut von Andrew Gallant, bekannt als BurntSushi, und fertige Programme gibt es fuer Windows, macOS und Linux.

Der Wert von ripgrep liegt nicht in der Zahl der Optionen, sondern darin, wie richtig die Vorgaben sind. Regeln zum Auslassen greifen von selbst, versteckte Dateien und unnuetze Ordner bleiben draussen, und wenn alles gebraucht wird, bringt ein einziges -uuu den vollen Satz zurueck. Gibt man dem Werkzeug diese kleinen Entscheidungen, kehrt die Suche zu dem zurueck, was sie sein sollte.

ripgrepDownload
Unterstützte Systeme: Windows macOS Linux