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 maxdepthno comando find.
find /some/dir -type f -mtime +5 -delete
/ some/dir/versão uma vez . :(
Com zshe (.m+n) qualificadores glob : .seleciona apenas arquivos regulares, m+nseleciona 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 Dpara 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 -rlpor rmse você estiver feliz com o resultado; embora você precise usar zargsse tiver muitos arquivos (para evitar a lista de argumentos muito longa ):
autoload zargs
zargs ./**/*(.m+9) -- rm
-lsvez de-deletegarantir que isso não exclua tudo o que eles queriam manter. Sim, falando por experiência aqui.