find /path/to/files* -type f -mtime +30 | xargs rm
Ohne -type haust alles in die Tonne wenn das Verzeichnis sich geändert hat, dann findet der find nämlich auch "." ...
testen würd ich das mit -exec ls -la {} \; oder | xargs ls -la statt mit rm
- Das funktioniert auch mit Dateinamen, die Leerzeichen enthalten, wenn man den Platzhalter für den Dateinamen in Anführungszeichen setzt: -exec rm "{}" \;
- Bei einer großen Zahl von zu löschenden Dateien gehts mit xargs deutlich billiger/schneller: find /pfad -mtime +30 | xargs rm
scnr,
Marc
Marco Gabriel am :
danke für deine ergänzungen. xargs allerdings funktioniert bei mir mit vielen dateien eher nicht. ich erinnere mich an einige fälle, bei denen ich mehrere zehntausend dateien damit löschen wollte und es mit xargs nicht schaffte, mit find direkt jedoch schon.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Uli am :
Ohne -type haust alles in die Tonne wenn das Verzeichnis sich geändert hat, dann findet der find nämlich auch "." ...
testen würd ich das mit -exec ls -la {} \; oder | xargs ls -la statt mit rm
Marc am :
zwei Anmerkungen dazu...
- Das funktioniert auch mit Dateinamen, die Leerzeichen enthalten, wenn man den Platzhalter für den Dateinamen in Anführungszeichen setzt: -exec rm "{}" \;
- Bei einer großen Zahl von zu löschenden Dateien gehts mit xargs deutlich billiger/schneller: find /pfad -mtime +30 | xargs rm
scnr,
Marc
Marco Gabriel am :