-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Schmidt wrote:
| irgendwie hab ich Probleme mit find. Wollte fuer eine Reihe DAteien
| chmod setzen.
|
| man find meint, dass man per "-exec command;" ein Kmmano ausfuehren
| lassen koenne. Habe gerade auch nochmal die Postings hier durchgesehen
| (in letzter Zeit gab es ja einige Fragen zu find), aber dort war nichts
| zu einer Aktion -exec zu finden; wurde alles nur mit -[print0|name] |
| xargs gemacht. Hat das einen besonderen Grund? Ist -exec nicht mehr
| ueblich?

Der Nachteil an -exec ist, daß für jede Datei, die find findet ein neuer Prozess
gestartet wird, und das kann extrem langsam sein.

Beispiel:

in /foo liegen bar001 - bar999

Ein find /foo -type f -exec chmod +w {} \; erzeugt folgende Prozesse:

1.) find
2. bis 1000.) chmod +w bar00X


Ein find /foo -type f -print 0 | xargs -0 chmod +w erzeugt folgende Prozesse: 1.) find 2.) chmod +w bar001 bar002 bar003 bar004 ... 3.) chmod +w bar101 bar102 bar103 bar104 ...

Die Anzahl der Argumente, die chmod jeweils aufeinmal mitbekommt hängt von
Deinem System ab, läst sich aber über --max-args begrenzen.

Aufgepaßt: xargs übergibt die reingepipeten Argumente zunächst mal als letztes,
möchte man etwas wie find -exec sh -c "echo X{}X" \; machen, so geht das mit -i:

find /foo -type f -print0 | xargs -i sh -c "echo X{}X"

Alle Beispiele ungetestet, YMMV,

-billy.


- -- Meisterbohne Meisterbohne GbR, Küfner, Mekle, Meier Tel: +49-731-399 499-0 ~ eLösungen Söflinger Straße 100 Fax: +49-731-399 499-9 ~ 89077 Ulm http://www.meisterbohne.de/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAMONL6twtlEPERx4RAlzbAJ9elT9mZvPQkXp1MVvaNP0McblYAQCgo3eF
f7+CkOAw09Mrag3lY6jamZE=
=CfRg
-----END PGP SIGNATURE-----


--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Antwort per Email an