Bitte um kurze Hilfe zu find, grep usw.
Tach. Möchte gern meinem Pinguin folgendes klarmachen: Durchsuche alle Dateien, die in einem Verzeichnis liegen, in dessen Pfad der Name vmware auftaucht, nach dem Stichwort win98. Also: find / -type d -name vmware 2>/dev/null Das sollte schon mal alle Verzeichnisse finden. Und jetzt dachte ich: | xargs grep -r win98 ... <= hier soll das rein, was find findet. Wie mach ich das? Danke. Andy -- Andreas Feile www.feile.net
Andreas Feile wrote:
Durchsuche alle Dateien, die in einem Verzeichnis liegen, in dessen Pfad der Name vmware auftaucht, nach dem Stichwort win98.
Also: find / -type d -name vmware 2>/dev/null Das sollte schon mal alle Verzeichnisse finden. Und jetzt dachte ich: | xargs grep -r win98 ... <= hier soll das rein, was find findet. Wie mach ich das?
for dir in `find / -type d -iname "*vmware*" -print` ; do for file in ${dir}/* ; do test -f ${file} && grep -Hi win98 ${file} done done Vielleicht nicht besonders elegant, aber sollte hoffentlich funktionieren. Das test habe ich mal eingebaut, um ein grep auf Verzeichnisnamen zu unterbinden. Sowohl der find als auch der grep Befehl arbeiten hier "case insensitive". Der Para- meter -H sorgt dafuer, dass Du im Falle eines Treffers den zugehoerigen Dateinamen ausgegeben bekommst. HTH, Thomson -- Thomas Hertweck, Dipl.-Geophys., GPI Universitaet Karlsruhe === First they ignore you, then they laugh at you, then === === they fight you, then you win. (M. Ghandi) ===
Moin, * Andreas Feile <lists@feile.net> [2003-01-31 16:31]:
Durchsuche alle Dateien, die in einem Verzeichnis liegen, in dessen Pfad der Name vmware auftaucht, nach dem Stichwort win98.
locate vmware | grep 'vmware.*/' | xargs grep win98 Halbwegs ungetestet: Gibt bei mir keine Treffer, ich habe aber auch kein VMWare installiert. Um die Warnungen wegen der Verzeichnisse zu filtern, kannst Du ein '2>/dev/null' anhängen. Thorsten -- Der Leser hat's gut: Er kann sich seine Schriftsteller aussuchen. - Kurt Tucholsky
Hallo, On Fri, 31 Jan 2003, Andreas Feile wrote:
Durchsuche alle Dateien, die in einem Verzeichnis liegen, in dessen Pfad der Name vmware auftaucht, nach dem Stichwort win98.
Also:
find / -type d -name vmware 2>/dev/null
find / -type d -iname "*vmware*" -exec find {} -type f -maxdepth 1 -print0 \; \ | xargs -0 grep -i 'win98' Oder so ;) -dnh -- Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is NOTHING like Shakespeare. -- Blair Houghton
participants (4)
-
Andreas Feile
-
David Haller
-
Thomas Hertweck
-
Thorsten Haude