BEZEICHNUNG
gerp – Grob Ermittelte Relevante Passagen – durchsucht Dateien nach dem, was Sie gemeint haben könnten
ÜBERSICHT
gerp [OPTIONEN] MUSTER [DATEI…]
gerp --ungefaehr GEDANKE [VERZEICHNIS]
BESCHREIBUNG
gerp durchsucht Dateien nach Zeilen, die ungefähr dem MUSTER entsprechen – oder dem, was Sie eigentlich gemeint haben, oder dem, was gerp glaubt, dass Sie gemeint haben könnten.
Herkömmliche Suchwerkzeuge vergleichen stur Zeichen für Zeichen. gerp verfolgt einen ganzheitlichen Ansatz: Es liest jede Datei vollständig, denkt kurz darüber nach und gibt dann die Zeile aus, die es am interessantesten fand.
Wird keine DATEI angegeben, liest gerp von der Standardeingabe. Kommt auch auf der Standardeingabe nichts an, wartet gerp. Geduldig. Ohne Fortschrittsanzeige. Für immer.
gerp versteht reguläre Ausdrücke vollständig. Sie nicht. Das ist ausdrücklich kein Fehler von gerp.
OPTIONEN
-i,--ignore-case- Ignoriert Groß- und Kleinschreibung. Ab Version 3 zusätzlich Rechtschreibung, Grammatik und Ihre Gefühle.
-v,--invert-match- Gibt alle Zeilen aus, die nicht passen. Also genau die 48.000 Zeilen, die Sie nicht sehen wollten, in der Reihenfolge, in der sie Ihnen am wenigsten helfen.
-r,--recursive- Durchsucht Verzeichnisse rekursiv. Folgt dabei symbolischen Links, Abkürzungen und gelegentlich einem Gedankengang bis ins Wurzelverzeichnis.
-c,--count- Zählt die Treffer. Das Ergebnis wird auf die nächste Zahl gerundet, die gut klingt.
-n,--line-number- Gibt Zeilennummern aus. Abweichungen von ±3 Zeilen gelten als branchenübliche Toleranz.
-l,--files-with-matches- Gibt nur Dateinamen aus. Bevorzugt die Datei, die Sie zuletzt bearbeitet und nicht gespeichert haben.
-E,--extended-regexp- Erweiterte reguläre Ausdrücke. Erweitert außerdem die Laufzeit.
-P,--perl-regexp- Perl-kompatible Ausdrücke. Liefert korrekte Ergebnisse, die niemand lesen kann – auch nicht die Person, die den Ausdruck vor fünf Minuten geschrieben hat.
-A NUM,-B NUM,-C NUM- Zeigt NUM Zeilen Kontext nach, vor oder um jeden Treffer.
-Cliefert zusätzlich den emotionalen Kontext: wer die Zeile geschrieben hat und was damals in dessen Leben los war. --ungefaehr- Sucht nach der Idee eines Musters statt nach dem Muster selbst. Ideal für Sätze wie „irgendwas mit Config“.
--color=WANN- Färbt Treffer ein. Erlaubte Werte:
always,never,autoundbeleidigt. Beibeleidigtwerden alle Treffer in derselben Farbe wie der Hintergrund ausgegeben. -q,--quiet- Gibt nichts aus. Weiß aber Bescheid. Und lässt Sie das spüren.
BEISPIELE
Alle offenen Aufgaben im Quellcode finden:
$ gerp "TODO" src/
src/main.c:42: // TODO: das hier irgendwann machen
src/main.c:43: // TODO: siehe oben
src/legacy.c:1: /* TODO: alles */Fehler im Systemprotokoll zählen:
$ gerp -c "Fehler" /var/log/syslog
ziemlich vieleNach etwas suchen, dessen genauen Namen man vergessen hat:
$ gerp --ungefaehr "das Passwort von damals" ~/projekte
alt/config.php:12: $db_pass = "hunter2"; # nur temporär, 2017
gerp: Hinweis: Diesen Treffer haben wir nie gesehen.Das Gegenteil von nichts suchen:
$ gerp -v "" notizen.txt
gerp: Sie haben nach allem gesucht, was nicht nichts ist. Das ist zu viel.RÜCKGABEWERT
0- Mindestens eine passende Zeile gefunden.
1- Nichts gefunden.
2- Ein Fehler ist aufgetreten.
3- Etwas gefunden, gerp möchte aber nicht darüber reden.
42- Die Frage war falsch gestellt.
UMGEBUNGSVARIABLEN
GERP_COLORS- Legt die Farben der Ausgabe fest. Wird ignoriert, wenn
--color=beleidigtaktiv ist. GERP_LAUNE- Mögliche Werte:
gut,geht so,montag. Beimontagwerden Treffer erst ab Zeile 10 ausgegeben, und auch nur widerwillig. LANG- gerp antwortet in der eingestellten Sprache. Fehlermeldungen kommen trotzdem immer auf Englisch, damit man sie im Internet finden kann.
FEHLER
Wer die Prozessliste nach gerp durchsucht, findet gerp:
$ ps aux | gerp gerp
benutzer 4242 0.0 0.0 gerp gerpgerp findet sich selbst. Wir arbeiten daran, dass es sich auch akzeptiert.