Hallo Luke, Luke wrote:
Wie kann ich mit "grep" alle Dateien in einem Ordner nach einer bestimmten Zeichenfolge durchsuchen. Jede Datei einzeln ist einfach zu viel Arbeit.
Im einfachsten Falle: ls | xargs grep "muster" Das wird aber bei Ordnern und Binaerdateien mosern bzw. wg. der Binaerdaten piepen oder andere nette Effekte haben... Um das zu umgehen koennte man diverse tests dazwischenschalten und das ganze in eine Schleife packen: for datei in `ls -1`; \ do \ if [ ! -d $datei ]; \ then grep "muster" $datei; \ fi; \ done damit haetten wir schonmal die Verzeichnisse eliminiert [ ] = test, test -d = Verzeichnisse, ! = Negation. hat man z.B. noch gzippte Dateien, kann man statt grep gleich zgrep nehmen. Will man bestimmte Dateiendungen ein- oder ausschliessen haengt man am besten per | ein grep (-v) an das ls, also die erste Zeile waere dann: for datei in `ls | grep -v "\.dvi"`; das wuerde z.B. alle .dvi Dateien ausschliessen. Nur so eine Anregung... Das geht sicher auch noch besser und/oder eleganter ;) Weiteres in man bash, man xargs, man grep, man test usw... CU David -- "We apologise for the inconvenience" ("God's Final Message") --- Douglas Adams (P.S.: I think, I feel good about it, too...) email: David@dhaller.de www: www.dhaller.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com