Antworten:
Dadurch werden alle Dateien gelöscht, die älter als 5 Tage sind. Sie können auch -name '*log'einen maxdepthin den Befehl find einfügen, um genauer zu sein.
find /some/dir -type f -mtime +5 -delete
/ some/dir/version gemacht habe. :(
Mit zshund (.m+n) glob - Qualifikation : .wählt nur reguläre Dateien, m+nwählt Dateien geändert mehr als n Tage vor;
ZB die Dateien im aktuellen Verzeichnis auflisten, die vor mehr als 9 Tagen geändert wurden:
print -rl -- *(.m+9)
Hinzufügen D, um Punktedateien einzuschließen:
print -rl -- *(D.m+9)
oder wenn Sie wiederkehren möchten (und zB nur Dateien auflisten, die mit enden .log):
setopt extendedglob
print -rl -- **/*.log(.m+9)
Ersetzen Sie print -rldurch, rmwenn Sie mit dem Ergebnis zufrieden sind. zargsWenn Sie viele Dateien haben, müssen Sie möglicherweise Folgendes verwenden (um zu lange Argumente zu vermeiden ):
autoload zargs
zargs ./**/*(.m+9) -- rm
-lsanstatt-deletesicher zu machen dies nicht löschen , was sie gehalten wollten. Ja, ich spreche aus Erfahrung hier.