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 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
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
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