Linux: Inhalt von Dateien rekursiv nach Suchstring durchsuchen
2011-03-17
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
2 Kommentare
Biwebco
schrieb am 18.03.2011 um 14:31 Uhr
was verbraucht mehr Resoursen?
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.