Tente usar xargs
:
find ./cache -mtime +0.5 -print0 | xargs -0 rm -f
Atualizar explicação para @pradeepchhetri
Se você usar find
com -exec
, todos os arquivos que find
encontrar chamarão rm
uma vez. Então, se você encontrou um grande número de arquivos, ou seja, 10.000 arquivos, você chamou rm
10000 vezes.
xargs
tratará a saída de find
como argumento de comando para rm
, para que xargs forneça tantos argumentos quanto rm
possa manipular de uma só vez, ou seja, rm -f file1 file2 ...
fazer o programa correr mais rápido.