Это удалит все файлы, более старые, чем 5 дней, можно поместить a -name '*log'
там также, чтобы быть более точными и Вы могли бы хотеть указать a maxdepth
в находке управляют также.
find /some/dir -type f -mtime +5 -delete
С помощью 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
для проверки это не удалит ничего, что они хотели сохраненный. Да, говоря на основе опыта здесь. – Shadur 05.05.2012, 17:21/ some/dir/
версия. прекрасный :( – Hennes 14.01.2013, 00:34