Відповіді:
Це видалить усі файли старше 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щоб переконатися, що це не видалить все, що вони хотіли зберегти. Так, кажучи з досвіду тут.