Suche
Suche Menü

Linux: mit grep Text in Dateien anzeigen

Um unter Linux Text in Dateien zu finden ist grep ein mächtiges Tool welches viele Optionen zum suchen ermöglicht.

grep -rnwi '/Pfad/zum/Ordner' -e 'Suchbegriff'

Bedeutung der Optionen:

  • -r bedeutet rekursiv, also über mehrere Ordnerebenen
  • -w wählt nur solche Zeilen aus, deren Treffer aus vollständigen Wörtern bestehen. So wird bei der Suche nach «Bad» keine «Badewanne» gefunden
  • -n gibt die Zeilennummer vor jedem Treffer aus
  • -i unterscheide nicht zwischen Groß- und Kleinschreibung.

Nur in bestimmten Dateitypen suchen / Dateitypen ausschliessen

Mit include und exclude kann in bestimmten Dateien gesucht werden, respektive bestimmte Dateitypen ausgeschlossen werden:

grep -rnwi --include=\*.{php,css} '/var/www/html/' -e "main"

grep -rnwi --exclude=\*.{php,css} '/var/www/html/' -e "main"

Bestimmte Ordner ausschliessen

Sollen beim Suchen bestimmte Ordner ausgeschlossen werden, so können diese über --exclude-dir ausgeschlossen werden. Wird dem Namen des Ordners ein * angehängt, kann auch nach allen Ordnern welche mit einem Namen beginnen oder enden gesucht werden.

grep -rwni --exclude-dir={lib,wp-*,admin} '/var/www/html/' -e "main"

Im obigen Beispiel werden die Ordner «lib», «admin» und alle Ordner welche mit «wp-» beginnen ausgeschlossen.

Weitere Optionen

  • -A gibt zusätzlich NUM Zeilen vor dem Kontext aus
  • -B gibt zusätzlich NUM Zeilen nach dem Kontext aus
  • -C gibt zusätzlich NUM Zeilen vor und nach dem Kontext aus. Zwischen zusammenhängende Gruppen von Treffern werden Zeilen mit «–» eingefügt
  • -c unterdrückt die normale Ausgabe und gibt stattdessen für jede Eingabedatei an, wieviele Zeilen auf die regular expression passen
  • -e verwende Muster als regular expression. Nützlich um Ausdrücke zu schützen, die mit einem - beginnen.
  • -H gibt den Dateinamen vor jedem Treffer aus.
  • -P verwendet Perl regular expressions.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.