find . \( \( -name .hg -o -name localhost -o -name logs \) -prune \) -o -type f
Atualmente, tenho este comando de localização que evita diretórios específicos decrescentes:
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. Eu sinto que estou me repetindo muito, e deve haver uma maneira mais elegante / mais curta de realizar a mesma coisa.
find . \( \( -name .hg -o -name localhost -o -name logs \) -prune \) -o -type f
find . -not \( -regex ".*/(.hg|localhost|logs)" -prune \) -type f