Você não usou a opção -type
, por isso find
removerá ( -delete
) tudo o que corresponder às condições fornecidas (precisamente -mindepth 1 -mtime +5
aqui), seja arquivo ou diretório (se vazio) ou qualquer outra coisa.
Se você deseja remover apenas diretórios vazios:
find /path/to/directory/ -mindepth 1 -type d -mtime +5 -delete
Apenas para observar, é melhor dar uma olhada nos arquivos a serem removidos antes de realmente fazer a remoção, solte o -delete
:
find /path/to/directory/ -mindepth 1-type d -mtime +5
Por questões de integridade, se você quiser pesquisar apenas arquivos e diretórios, insira uma construção OR em find
:
find /path/to/directory/ -mindepth 1 \( -type f -o -type d \) -mtime +5
Se você deseja remover também os diretórios que não estão vazios, use rm
dentro da -exec
action:
find /path/to/directory/ -mindepth 1 \( -type f -o -type d \) -mtime +5 -exec rm -r {} +
Adicione -f
com rm
, se necessário.