Alte Dateien löschen

Hallo zusammen…

Um die Dateien vom Vortag zu löschen wollte ich ungefähr so vorgehen:
find . -mtime +1 | rm -Rf
Leider haut es nicht hin, da dem rm Argumente fehlen.
Wie kann ich also dem rm beibringen, dass er die Dateinamen doch gepiped bekommt?
Danke schonmal und Gruß
Mike

Um die Dateien vom Vortag zu löschen wollte ich ungefähr so
vorgehen:
find . -mtime +1 | rm -Rf
Leider haut es nicht hin, da dem rm Argumente fehlen.
Wie kann ich also dem rm beibringen, dass er die Dateinamen
doch gepiped bekommt?

man find.

-exec rm {} ;

Hi,

probiers mal mit
rm -Rf find ...
Backticks sind schon was feines :wink:

Grüße
Moritz

Hi,

'n Abend,

probiers mal mit
rm -Rf find ...

Dateinamen mit Leerzeichen? (SCNR: Ich wollte das schon immer mal sagen. :wink:

Backticks sind schon was feines :wink:

Stimmt schon,
Gruss vom Frank.

Tach!

Noch ne Lösung:

find . -mtime +1 | xargs rm

sollte bei vielen Dateien eigentlich schneller gehen, da weniger rm-Prozesse aufgerissen werden.
Das „-mtime +1“ nicht genau die Dateien bis gestern einschließlich liefert, sondern diejenigen, die älter als 24 Std. sind, ist wohl allen klar. Wenn man mehr will - alle Files bis zum Datum ‚heute - 1‘, muss man z.B. mit einer Kombination von date + touch arbeiten:

touch -t $(date +"%Y%m%d0000") /tmp/reffile.xxx
find . ! -newer /tmp/reffile.xxx | xargs rm
rm /tmp/reffile.xxx

gruss
bernhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]