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

Re: Dateien nach bestimmtem Alter löschen



Hans-Juergen Tappe <tappe@hek.uni-karlsruhe.de> writes:
> Kai Timmer wrote:
> >>Hat die Version da oben irgendwelche Vorteile?
> > Wahrscheinlich nicht, aber sie funktioniert und ist eines meiner ersten
> > Scripte, ich habe da nie wieder wirklich nach geguckt und immer nur neue
> > Ordner hinzugefügt oder gelöscht.
> 
> "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.

Genau dazu kann es nicht führen, xargs ist schlau genug die maximale
Zahl von argv-Elementen zu kennen und nötigenfalls das Kommando, in
diesem Fall rm, mehrfach auszuführen.

Es ist jedoch bei GNU find/xargs so, daß es sich anbietet, den find mit
der Aktion -print0 laufen zu lassen und den xarg mit der Option -0, um
Probleme mit evtl. pathologischen Dateinamen zu umgehen:

find /path -sometest -print0 | xargs -0 command

Thomas Jahns
-- 
"Computers are good at following instructions,
 but not at reading your mind."
D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9



Reply to: