POSIXly:
find /test/. ! -name . -type d -mtime +0 -exec rm -rf {} \; -prune
(usamos -prune
para os diretórios que removemos com sucesso, para que find
não reclame que eles desapareceram de repente).
Em qualquer caso, observe que o tempo de modificação (conforme verificado por -mtime
acima) de um arquivo de diretório reflete apenas a última vez que uma entrada foi adicionada, removida ou renomeada nela.
Ele não é atualizado quando o conteúdo de qualquer um dos arquivos (do tipo regular ou diretório ou outro) vinculado a ele é modificado. Em particular, qualquer alteração feita nos subdiretórios ou em seu conteúdo não afeta o tempo de modificação de um diretório.
Observe que todas as -mindepth
, -maxdepth
e -mmin
são extensões GNU (embora sejam suportadas em outras implementações).
O equivalente padrão de find . -maxdepth 1
seria:
find . -name . -o -prune
Para -mindepth 1
:
find . ! -name .
Para -mindepth 1 -maxdepth 1
:
find . ! -name . -prune
Para diretórios diferentes de .
, use find some/dir/. ...
como acima.
Para outros valores de profundidade, você pode usar -path
, mas observe que, como ele foi adicionado recentemente ao padrão, alguns sistemas (como o AIX) ainda não o possuem.
Para: -maxdepth 2
:
find . ! -path '*/*/*' -o -prune
Para: -mindepth 2
:
find . -path '*/*/*'
Para outro diretório:
find some/dir//. -path '*//*/*/*'