Como usar o Terminal para excluir todas as pastas .svn recursivamente?

51

Qual comando posso digitar no Terminal para que eu possa excluir todas as pastas .svn dentro de uma pasta (e de todos os subdiretórios), mas não excluir mais nada?

    
por Mikey 09.02.2012 / 17:33

1 resposta

115
cd to/dir/where/you/want/to/start
find . -type d -name '.svn' -print -exec rm -rf {} \;
  • Use find, que faz recursão
  • no diretório atual.
  • filetype é diretório
  • nome do arquivo é .svn
  • imprime o que corresponde a esse ponto (as diretivas .svn)
  • executa o comando rm -rf (thing found from find) . o {} é um marcador de posição para o entidade encontrada
  • o; informa que o comando para exec está pronto. Já que a concha também tem uma ideia do que; é, você precisa escapar com \ para que o shell não faça nada especial com ele e apenas passe para encontrar
por 09.02.2012 / 17:53