find . -type d ! -name . -mtime +31 -exec sh -c '
case $(find "$1" ! -mtime +31 -exec echo x \; -prune) in
"" ) rm -rf "$1" || echo "Error could not delete folder \"$1\"" ;;
esac
' {} {} \;
No diretório atual, lançamos find e observamos apenas directories que não foram atualizados desde os últimos 31 dias. E em cada um desses diretórios, mergulhamos e procuramos por algo que não tenha mais de 31 dias, e ao encontrá-lo, fazemos eco a um personagem fictício e também podamos qualquer pesquisa avançada (idealmente devemos terminar nossa busca aqui por meio de -quit , mas não é POSIX , portanto, aceitamos -prune ).
Em seguida, procuramos o resultado dessa operação find e, se ela estiver vazia, sabemos que nem um elemento (file / dir / link / etc.) era novo e, portanto, esse dir. é seguro para exclusão.