Re: [Zwischenruf:] Verwendung von xargs [war: Re: root-kits aufspueren]
On Wed, Jan 11, 2012 at 11:10:56PM +0100, Matthias Müller wrote:
> Am Mittwoch 11 Januar 2012 schrieb Martin Steigerwald:
> > Daher macht der Aufruf von grep schon Sinn. Aber nur mit einem
> > vorangestellten xargs.
> Mir erschließt sich der Sinn, auch nach fast 20 Jahren Unix/Linux, von
> "xargs", speziell und vor allem im Zusammenhang mit "find", immer noch
> nicht. Lasst mich bitte nicht blöd sterben.
>
> Wenn ich eine Datei mit einem bestimmten Inhalt suchen will, gehe _ich_
> folgendermaßen vor:
> find ${startpfad} -name "*" -exec grep ${suchmuster} {} /dev/null \;
> Das lässt sich jetzt etwas verfeinern mit Optionen etc.
> Die Angabe '-name "*"' stammt aus meinen AIX-Erfahrungen, dort
> funktioniert/-e der find etwas anders.
>
> Einer meiner Kollegen und, wenn ich jetzt die Aussage von dir richtig
> interpretiere, auch du, verwenden in diesem Zusammenhang "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.
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}
Wobe ich bei der ganzen Diskussion den Sinn von find nicht verstanden
habe, grep kann schließlich selbst rekursiv suchen.
Gruß,
Ulf.
Reply to: