Como ignorar certos nomes de ficheiros usando "find"?
Um dos meus comandos BASH favoritos é:
find . -name '*.*' -exec grep 'SearchString' {} /dev/null \;
que pesquisa o conteúdo de todos os ficheiros no directório actual e abaixo dele para o SearchString especificado. Como programador, isto tem vindo a ser útil por vezes.
Devido ao meu projecto actual, e à estrutura da minha base de códigos, contudo, gostaria de tornar este comando BASH ainda mais avançado, não pesquisando quaisquer ficheiros que estejam dentro ou abaixo de um directório que contenha “.svn”, ou quaisquer ficheiros que terminem com “.html”
A página MAN para encontrar-me um pouco confusa. Tentei usar -prune, e isso deu-me um comportamento estranho. Numa tentativa de saltar apenas as páginas .html (para começar), tentei :
find . -wholename './*.html' -prune -exec grep 'SearchString' {} /dev/null \;
e não consegui o comportamento que esperava. Acho que poderia estar a perder o ponto de -prune. Poderiam ajudar-me?
Obrigado