Hallo, Am Mittwoch 11 Januar 2012 schrieb Ulf Volmer: snip > > folgendermaßen vor: > > find ${startpfad} -name "*" -exec grep ${suchmuster} {} > > /dev/null \; snip > > "xargs". Warum? > > Was gewinne ich dadurch? > > Wenn Du grep direkt mit -exec aufrufst, muß für jede gefundene Datei > ein neuer grep- Prozeß gestartet werden. Das kostet Performance. Okay, kann ein Argument sein, vor allem auf älterer Hardware. Ich kann mich entsinnen, dass eine derartige Suche, damals in den 90er des 20. Jahrh., auf einer RS6000, Baujahr 1994/1995 schon mal etwas länglich arbeitete. > > Die Variante mit xargs startet erheblich weniger Prozesse. > > > Wie würde das obige Kommando aussehen unter Verwendung von xargs? > > find ${startpfad} -print0 | xargs -0 grep ${suchmuster} Danke. > Wobe ich bei der ganzen Diskussion den Sinn von find nicht verstanden > habe, grep kann schließlich selbst rekursiv suchen. Der grep, der mit Debian ausgeliefert wird, kann das. Aber der grep, der mit AIX 5.2 (und älter) ausgeliefert wird, kann das nicht, erst der, der ab AIX 6.1 kommt. Deshalb ist der Einsatz von find hier (unter AIX) sinnvoll und richtig. Auch meinen Dank an Martin, Andrei und die anderen. -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text- Nachrichten!
Attachment:
signature.asc
Description: This is a digitally signed message part.