Como posso evitar descer certos diretórios com 'find'?

Como posso evitar descer certos diretórios com 'find'?

Atualmente tenho este comando find que evita descer diretórios específicos:

find . \! \( -name ".hg" -prune \) \! \( -name "localhost" -prune \) \! \( -name "logs" -prune \) -type f

O comando funciona como eu quero, mas estou procurando uma solução mais sucinta. Sinto que estou me repetindo muito e deve haver uma maneira mais elegante/mais curta de conseguir a mesma coisa.

Responder1

find . \( \( -name .hg -o -name localhost -o -name logs \) -prune \) -o -type f

Responder2

find . -not \( -regex ".*/(.hg|localhost|logs)" -prune \) -type f

informação relacionada