Hallo,
hoffentlich habt Ihr den heutigen Frühlingstag besser genutzt als ich, der (fast nur) das Display angestarrt hat...
Problem: In einer Verzeichnishierarchie suche ich die- jenigen Dateien, die ein bestimmtes Suchmuster enthal- ten. Die Suche möchte ich in einem weit oben stehenden, von mir angelegten Verzeichnis beginnen und automatisch auf die Dateien der tiefer liegenden Verzeichnisse aus- dehnen. Da ich mit einer älteren Linux-Variante arbeite, habe ich die Live-CD Knoppix 6.3 gestartet (müsste ja wohl ziemlich auf dem neuesten Stand sein). Die Option -r von zipgrep darin funktioniert anders, als ich es nach der Beschreibung -r liest alle Dateien unterhalb aller Verzeichnis- se rekursiv erwartet habe - keine Umschaltung in das nächsttiefere Verzeichnis und also kein Durchsuchen der darin enthal- tenen dateien.
Wie komme ich bei einer derartigen Suche automatisch in die Unterverzeichnisse des Startverzeichnisses, in die Unterverzeichnisse der Unterverzeichnisse usw.? Die Na- men der Verzeichnisse will/kann ich nicht angeben.
Vielen Dank für Hilfe und nochmals meinen Hinweis auf den ersten Absatz (wie man den Tag auch besser verbrin- gen kann),
Peter M.
peter wrote:
Hallo,
hoffentlich habt Ihr den heutigen Frühlingstag besser genutzt als ich, der (fast nur) das Display angestarrt hat...
Morgen Peter,
ja, hintern den Fenstern verbirgt sich einig Interessantes, so auch der Frühling oder Probleme die Kopfschmerzen bereiten...
Willste nen Shellscript schreiben?
http://www.linuxforen.de/forums/showthread.php?t=176802
Grüße Ingo
On Sunday 18 April 2010, peter wrote:
Problem: In einer Verzeichnishierarchie suche ich die- jenigen Dateien, die ein bestimmtes Suchmuster enthal- ten. Die Suche möchte ich in einem weit oben stehenden, von mir angelegten Verzeichnis beginnen und automatisch auf die Dateien der tiefer liegenden Verzeichnisse aus- dehnen. Da ich mit einer älteren Linux-Variante arbeite, habe ich die Live-CD Knoppix 6.3 gestartet (müsste ja wohl ziemlich auf dem neuesten Stand sein). Die Option -r von zipgrep darin funktioniert anders, als ich es nach der Beschreibung -r liest alle Dateien unterhalb aller Verzeichnis- se rekursiv erwartet habe - keine Umschaltung in das nächsttiefere Verzeichnis und also kein Durchsuchen der darin enthal- tenen dateien.
Der -r Parameter von zip/zipgrep bezieht sich auf die Verzeichnisse INNHERHALB des Archivs. Wolltest Du das?
Ansonsten hilft find. So durchsucht man z.B. alle zip-Dateien ab dem aktuellen Verzeichnis nach "hallo welt":
find . -name '*.zip' -exec zipgrep "hallo welt" {} ;
Genaueres findet sich beim Studium der man-page von find.
Konrad
Hallo,
Am Sonntag 18 April 2010 schrieb peter:
-r liest alle Dateien unterhalb aller Verzeichnis- se rekursiv
erwartet habe - keine Umschaltung in das nächsttiefere Verzeichnis und also kein Durchsuchen der darin enthal- tenen dateien.
Hast du berücksichtigt, dass grep & Co nur die Dateien (und damit auch Verzeichnisse) beachten, die du angegeben hast. Wenn du also zipgrep -r muster *.zip machst, wird kein Verzeichnis gefunden und folglich auch nicht traversiert.
Was du wahrscheinlich haben willst ist etwas wie suche in allen Dateien mit dem Muster *.zip unterhalb von Verzeichnis 'start' den Text 'muster'
Das geht nur mit einer Kombination von find und grep, denn grep durchsucht nur eine Liste von Dateien und nicht eine Menge von Dateien gefiltert durch ein Muster.
Hoffe, das hilft dir weiter Gruß Uwe
lug-dd@mailman.schlittermann.de