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

Re: Dateien nach bestimmtem Alter löschen



Markus Schulz wrote:

>> "find ... -exec rm {}" führt das rm für jedes gefundene Element aus,
>> während "find ... | xargs rm" alle gefundenen Elemente einem "rm"
>> übergibt. Letzteres kann ggf. mal zu viel werden (Argument list too
>> long), so dass es nicht mehr funktioniert.
>
> Allerdings scheint diese Art des Löschens (xargs rm) eine längere Cmd 
> Line zuzulassen als die bash beim expandieren von rm *.
> Denn ich habe oft das Problem, das ein rm * nicht mehr funktioniert weil 
> die bash das * nicht mehr expandieren kann (too long).
> Ein ls |xargs rm funktionierte bisher dann aber immer tadellos.

Es ist genau umgekehrt; xargs kennt die maximal zulässige Länge einer
Kommandozeile und ruft rm entsprechend oft mit einer grossen (der
größt möglichen??) Zahl von Dateien auf.  Das ist das
Defaultverhalten, mit Kommandozeilenoptionen läßt sich das Verhalten
von xargs detaillierter steuern.


cheers,

aa

-- 
Andreas Ames | Programmer | Comergo GmbH | 
Voice:  +49 69 7505 3213 | andreas . ames AT comergo . com

Reply to: