O que você está vendo provavelmente é resultado da ordem de passagem do comando find
.
por exemplo. dado um diretório simples
$ find somedir
somedir
somedir/file
então
$ find somedir -exec rm -rfv {} \;
removed ‘somedir/file’
removed directory: ‘somedir’
find: 'somedir': No such file or directory
Você pode forçar um avanço em profundidade usando a opção -depth
, ou seja,
$ find somedir -depth -exec rm -rfv {} \;
removed ‘somedir/file’
removed directory: ‘somedir’
não resulta em erro.
Como alternativa, você pode usar o mais simples find somedir -delete
, que (conforme observado na página de manual) ativa a opção -depth
-delete
Delete files; true if removal succeeded. If the removal failed,
an error message is issued. If -delete fails, find's exit sta‐
tus will be nonzero (when it eventually exits). Use of -delete
automatically turns on the -depth option.