Seus comandos find
não estão dizendo o que fazer se o caminho fornecido não for correspondido. Se você quiser excluir tudo o que começar com um ponto e imprimir o resto, tente:
find test* -path '*/.*' -prune -o -print
para que possa remover qualquer coisa que corresponda a esse caminho e imprimir qualquer coisa que não seja.
Exemplo de saída:
testone
testone/fileC
testone/fileB
testone/fileA
testtwo
testtwo/fileE
testtwo/fileF
testtwo/fileD
Se você deseja excluir especificamente apenas .svn
e .git
, mas não outras coisas que começam com um ponto que você pode fazer:
find test* \( -path '*/.svn' -o -path '*/.git' \) -prune -o -print
que para este exemplo produz a mesma saída
se você quiser excluir os diretórios de nível superior, adicione -mindepth 1
like
find test* -mindepth 1 -path '*/.*' -prune -o -print
que dá
testone/fileC
testone/fileB
testone/fileA
testtwo/fileE
testtwo/fileF
testtwo/fileD