Linux: Inhalt von Dateien rekursiv nach Suchstring durchsuchen

2011-03-17 - kostaki 2 Kommentare »

Sucht man einen bestimmten String in einer Vielzahl an Dateien und Verzeichnissen könnten die folgenden Linux Befehle hilfreich sein.

  • grep: durchsucht eine Datei nach einem Suchstring
  • egrep: funktioniert wie grep, aber kann mit erweiterten regulären Ausdrücken umgehen
  • find: sucht bestimmte Dateien und wendet Befehle auf diese an

grep und egrep

$ grep -r -i 'Suchstring' ./

Es wird in allen Dateien des aktuelle Verzeichnisses (./) und alle Unterverzeichnisse (-r = rekursiv) nach 'Suchstring' gesucht. Es wird nicht auf Groß-/Kleinschreibung geachtet (-i). Hat man als Suchstring einen erweiterten regulären Ausdruck, benutzt man einfach egrep.

find und grep

Es gibt Linux Systeme die das -r bei grep nicht unterstützen. Hier kann man sich mit find behelfen.

$ find ./ -exec grep -i 'Suchstring' /dev/null {} \;

Quelle: grep all files and sub-directories in a directory for a string

  1. 2 Kommentare

  2. Biwebco
    schrieb am 18.03.2011 um 14:31 Uhr

    was verbraucht mehr Resoursen?

  3. kostaki
    schrieb am 19.03.2011 um 10:50 Uhr

    Die Befehle laufen beide recht schnell. Ich bevorzuge find, da man hier die Suche anhand der größeren Anzahl an Parameter weiter einschränken kann.

Kommentar schreiben

*

*