Im ganzen Projekt suchen mit grep -rn (und warum ripgrep schneller ist)
„Wo steht dieser Text nochmal?" – mit grep -rn durchsuchst du in Sekunden dein ganzes Projekt inklusive Zeilennummern. Und mit ripgrep (rg) geht es noch schneller, weil es .gitignore automatisch beachtet.
Bevor ich in irgendeiner IDE herumklicke, suche ich im Terminal. grep findet Text in Dateien – rekursiv durch alle Unterordner, mit Zeilennummer, in Sekunden.
Der Alltags-Befehl
grep -rn "TODO" .-r– rekursiv, also auch alle Unterordner-n– Zeilennummer mit ausgeben (damit springst du direkt hin).– im aktuellen Ordner suchen
Ein paar Schalter, die ich ständig brauche:
grep -rni "passwort" . # -i: Groß-/Kleinschreibung egal
grep -rn --include="*.php" "TODO" . # nur in PHP-Dateien
grep -rn "fixme" . --exclude-dir=node_modules # Müll-Ordner überspringenNoch schneller: ripgrep (rg)
Auf größeren Projekten nutze ich ripgrep. Es ist deutlich schneller und – der eigentliche Clou – es beachtet automatisch deine .gitignore. Du durchsuchst also nie versehentlich node_modules, vendor oder Build-Ordner.
rg "TODO" # rekursiv, mit Zeilennummern, .gitignore-aware – alles Standard
rg -i "passwort" # ohne Groß-/Kleinschreibung
rg "fetch\(" -t js # nur in JavaScript-Dateien (-t js)Installieren kannst du es unter Debian/Ubuntu mit sudo apt install ripgrep, auf dem Mac mit brew install ripgrep.
Mein Tipp: grep -rn kennt jeder Server, das ist dein verlässliches Werkzeug überall. rg ist dein schnelles Werkzeug auf dem eigenen Rechner. Beides zusammen deckt 99 % ab.
Sauberes Arbeiten im Terminal spart jeden Tag Zeit. Mehr Snippets wie dieses findest du auf code.bymw.de.
Quellen
Du brauchst mehr als ein Snippet?
Ich entwickle Android-Apps in Kotlin und moderne Websites für Selbstständige und kleine Unternehmen — von der ersten Idee bis zum Release.
Projekt anfragen →Verwandte Snippets
Zwei Listen vergleichen mit comm – wer fehlt, wer ist neu, wer ist in beiden
Welche Dateien fehlen im Backup? Welche Kunden aus der alten Liste stehen nicht in der neuen? Für genau diese Fragen gibt es seit Unix-Urzeiten ein Werkzeug, das kaum jemand kennt – comm vergleicht zwei sortierte Listen und sagt dir in einer Zeile, was nur links, nur rechts oder in beiden steht.
Warum deine Zählvariable nach der Schleife wieder 0 ist – Prozess-Substitution in Bash
Ein Klassiker, der jeden einmal erwischt: Du zählst in einer while-Schleife hoch, und hinterher steht die Variable trotzdem auf 0. Schuld ist eine Subshell hinter der Pipe. Mit Prozess-Substitution behältst du das Ergebnis – und kannst nebenbei zwei Befehle direkt vergleichen.
Pfade und Namen zerlegen — ganz ohne basename, dirname und sed
Die Shell kann Zeichenketten selbst zerschneiden. Kein Aufruf eines externen Programms, keine Pipe – nur geschweifte Klammern. Wenn du das einmal kennst, werden deine Skripte kürzer und deutlich schneller.