Weil grep das nicht so schön macht wie find, ist eine Kombination aus beiden die beste Lösung um in allen gewünschten Files nach dem Suchbegriff zu suchen.
Beispiel der Aufgabe:
Wir möchten alle Files durchsuchen die mit .php enden, also = *.php
Wir möchten in allen gefundenen .php – Files als Beispiel nach dem Suchbegriff „content“ suchen
Zum genauen Anzeigen helfen mehrere Parameter für grep:
-l = zeige nur die Dateinamen an wo der Suchbegriff vorkommt
-C3 = zeige eine Zeile oberhalb und unterhalb des gefundenen Suchbegriffes an, also 3 Zeilen
-H = zeige auch die Dateinamen an, wo es gefunden wurde
-i = unterscheide nicht zwischen gross und Kleinschrift
–color = Zeige die Ergebnisse farbig an (zweimal Bindestriche)
Das komplette Beispiel für die Suche mit Dateinamen – Anzeige / keine Beachtung der Gross/Kleinschrift und 3 Zeilen Ausgabe:
# find . -name „*.php“ -exec grep -HiC3 suchwort {} \;
Oder zeige nur das gefundene File und das gefundene Wort:
# find . -name „*.php“ -exec grep -Hi suchwort {} \;
Oder zeige nur das gefundene File und das gefundene Wort, aber in Farbe!
# find . -name „*.php“ -exec grep -Hi –color suchwort {} \;
Manchmal (schneller) funktioniert aber auch die rekursive Suche mit grep ganz gut, Beispiel:
# grep -r -i suchwort *.php
Views: 309
Ein Gedanke zu „grep – Unterverzeichnisse durchsuchen“
Ein sehr hilfreiche kompakte Sammlung, vielen Dank!
Welche Dateiformate unterstütz die Suche mit grep und find? Auch pdf-Dateien?