Scratch Geschrieben 24. November 2005 Geschrieben 24. November 2005 Hi, wie kann ich grep dazu bringen nur bestimmte Dateitypen (z.B. nur .txt) in allen Unterverzeichnissen zu durchsuchen? grep -ir meinregexp * nimmt alle dateien grep -ir meinregexp *.txt funktioniert nicht Falls das nicht direkt mit grep funktioniert ... kann man vielleicht auch das Ergebnis eines locate an grep übergeben? Danke! Gruß Scratch Zitieren
t3quill4b0y Geschrieben 24. November 2005 Geschrieben 24. November 2005 und klappts mit locate? Wenn nicht benutz doch find: find . -type f -name *.txt | grep 'deinregexp' habs zwar nicht getestet sollte aber funktionieren Zitieren
1226 Geschrieben 24. November 2005 Geschrieben 24. November 2005 einfacher: find . -name *.txt -exec grep 'suchstring' {} \; Zitieren
Scratch Geschrieben 24. November 2005 Autor Geschrieben 24. November 2005 Erstmal Danke für die schnelle Antwort! Leider klappt das nicht so ganz. Ich möchte ja den Inhalt der Dateien durchsuchen und nicht den Dateinamen! Egal ob ich find oder locate nehmen, er geht mit grep nur die Dateinamen durch. Gruß Scratch Zitieren
1226 Geschrieben 24. November 2005 Geschrieben 24. November 2005 Richtig, ist mir gar nicht aufgefallen. In dem Aufruf, den t3q... gepostet hat, wird dem grep die Ausgabe vom find übergeben. Mach es so, wie ich es geschrieben habe. Zitieren
Scratch Geschrieben 24. November 2005 Autor Geschrieben 24. November 2005 Danke an alle! benutze nun folgendes find . -name *.log -exec grep --ignore-case --with-filename --binary-files=without-match 'error' {} \; klappt einwandfrei! :marine Zitieren
Tharsis Geschrieben 25. Juli 2012 Geschrieben 25. Juli 2012 EDIT Hier stand Mist. Sorry sonen alten Thread wieder ausgegraben zu haben Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.