find dir/ -path '*/.svn' -prune -o -type f -print
deve caber na conta (a maior parte vem da página de manual do find para -path
). Pipe-lo para menos e confira. O que ele faz é primeiro encontrar (o caminho termina em .svn e não recorre a (remover) esse diretório) ou (se for um arquivo, imprima-o).
Se estiver bom, mude para
find dir/ -path '*/.svn' -prune -o -type f -exec rm {} +
A versão + cola todos os arquivos juntos em um comando rm. Se você é paranóico, mantenha um backup da árvore ( cp -a dir/ otherdir/
) primeiro.