Eu adicionaria -depth
para que árvores de arquivos possam ser deletadas em uma única passagem. O -name '*'
é irrelevante.
Sua descrição diz que você deseja excluir certos diretórios . O -delete
excluirá apenas os diretórios vazios. Seu código, conforme escrito, irá felizmente descer para o diretório acmecache
e remover quaisquer diretórios que não sejam de propriedade de the_foo * _ users. Eu vou assumir que não é o que você pretendia, então você precisa usar -prune
.
Tente isso em vez disso. Remova o echo
quando estiver satisfeito com o resultado
find /nobackup -depth -type d \( \( -user 'foo' -o -user 'foo1' -o -user 'foo2' -o -user 'foo3' -o -user 'foo4' -o -name 'acmecache' \) -prune \) -exec echo rm -rf {} \;