Respostas:
Isso excluirá todos os arquivos com mais de 5 dias. Você também pode inserir um -name '*log'
para ser mais preciso e também pode especificar um maxdepth
no comando find.
find /some/dir -type f -mtime +5 -delete
/ some/dir/
versão uma vez . :(
Com zsh
e (.m+n)
qualificadores glob : .
seleciona apenas arquivos regulares, m+n
seleciona arquivos modificados há mais de n dias;
por exemplo, liste os arquivos no diretório atual que foram modificados há mais de 9 dias:
print -rl -- *(.m+9)
adicione D
para incluir arquivos de ponto:
print -rl -- *(D.m+9)
ou se desejar recursar (e listar, por exemplo, apenas os arquivos que terminam com .log
):
setopt extendedglob
print -rl -- **/*.log(.m+9)
substitua print -rl
por rm
se você estiver feliz com o resultado; embora você precise usar zargs
se tiver muitos arquivos (para evitar a lista de argumentos muito longa ):
autoload zargs
zargs ./**/*(.m+9) -- rm
-ls
vez de-delete
garantir que isso não exclua tudo o que eles queriam manter. Sim, falando por experiência aqui.