Відповіді:
Це видалить усі файли старше 5 днів, ви можете також ввести -name '*log'
туди, щоб бути більш точним, і ви також можете вказати maxdepth
команду find.
find /some/dir -type f -mtime +5 -delete
/ some/dir/
версію. :(
За допомогою zsh
та (.m+n)
глобальних класифікаторів : .
вибирає лише звичайні файли, m+n
вибирає файли, змінені більше n днів тому;
наприклад, перерахуйте файли в поточному каталозі, які були змінені більше 9 днів тому:
print -rl -- *(.m+9)
додати D
для включення точкових файлів:
print -rl -- *(D.m+9)
або якщо ви хочете повторити (і перелічити, наприклад, лише файли, що закінчуються .log
):
setopt extendedglob
print -rl -- **/*.log(.m+9)
замінити print -rl
з , rm
якщо ви задоволені результатом; хоча вам, можливо, доведеться використовувати, zargs
якщо у вас є багато файлів (щоб уникнути занадто довгого списку аргументів ):
autoload zargs
zargs ./**/*(.m+9) -- rm
-ls
замість того,-delete
щоб переконатися, що це не видалить все, що вони хотіли зберегти. Так, кажучи з досвіду тут.