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 '*//*/*/*'