[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: