Mit einem Linux-Befehl könnt ihr ganz einfach nach bestimmten Text in Dateien suchen und die Dateien mit Verzeichnispfad anzeigen lassen. Wir zeigen, wie das geht.

Linux: find text in files

„Find text in files“ wird in Linux mit dem mächtigen Befehl grep erledigt:

Befehl: grep -rnwi '/Pfad/zu/Ordner/' -e 'Textschnipsel'

Ausgabe: Pfad zur Datei : Zeilennummer : Textzeile

  • -r bedeutet rekursiv.
  • -n zeigt die Zeile der Datei an, wo der Textschnipsel gefunden wurde.
  • -w bedeutet, dass der Textschnipsel als Ganzes übereinstimmen muss. Wer nach „Haus“ mit -w sucht, findet nicht „Haustür“.
  • -i bedeutet, dass nicht zwischen Groß- und Kleinschreibung unterschieden wird.
  • -l kann optional ergänzt werden, um nur den Dateipfad auzugeben, in welcher der Textschnipsel vorkommt.

Beispiele:

Sucht im Home-Verzeichnis und Unterordnern des Nutzers „zina“nach Dateien, die genau das Wort „lorem“ enthalten:

grep -rnwi '/home/zina/' -e 'lorem'

Beachte: Findet „lorem“ (klein geschrieben) und „Lorem“ (groß geschrieben). Für Unterscheidung zwischen Groß- und Kleinschreibung müsst ihr den Befehl ohne -i nutzen:  grep -rnw '/home/zina/' -e 'lorem'.

Nur nach Dateien mit Dateiendung .c oder .h suchen (--inlcude):

grep --include=\*.{c,h} -rnw '/home/zina/' -e "lorem"

Nur nach Dateien ohne Dateiendung .o suchen (--exclude):

grep --exclude=*.o -rnw '/home/zina/' -e "lorem"

Bei der Suche die Verzeichnisse „dir1“, „dir2“ und alle, die auf „test“ enden, ausschließen:

grep --exclude-dir={dir1,dir2,*test} -rnw '/home/zina/' -e "lorem"

Welches Betriebssystem findest du am besten? (Desktop)