De quando em vez, tenho a necessidade de remover todos os diretórios de controle do svn, os famigerados ".svn". Isso seria tarefa fácil se o projeto fosse pequeno. Porém, alguns projetos chegam a gerar centenas desses diretórios.
Então, a ideia é realizar uma pesquisa num dado diretório em busca dos tais ".svn" e para cada ocorrência executar o "rm -rf" passando a ocorrência encontrada como argumento para xargs.
$ find . -iname .svn | xargs rm -fr
Note que foi usado '-iname' ao invés de '-name' para ignorar diferenciação entre maiúscula e minúscula.
find . -iname .svn: Encontra todos os diretórios ".svn"
xargs rm -rf: O xargs é o programa que executa o que vier depois dele pra cada linha recebida como argumento.
Uma forma alternativa sem uso do xargs:
$ find . -iname .svn -exec rm -rf {} \;
Claro que você pode evitar a criação destes diretórios simplesmente dando um:
svn export DESTINO
Mas se eles já existirem fica a dica.
[]'
Então, a ideia é realizar uma pesquisa num dado diretório em busca dos tais ".svn" e para cada ocorrência executar o "rm -rf" passando a ocorrência encontrada como argumento para xargs.
$ find . -iname .svn | xargs rm -fr
Note que foi usado '-iname' ao invés de '-name' para ignorar diferenciação entre maiúscula e minúscula.
find . -iname .svn: Encontra todos os diretórios ".svn"
xargs rm -rf: O xargs é o programa que executa o que vier depois dele pra cada linha recebida como argumento.
Uma forma alternativa sem uso do xargs:
$ find . -iname .svn -exec rm -rf {} \;
Claro que você pode evitar a criação destes diretórios simplesmente dando um:
svn export DESTINO
Mas se eles já existirem fica a dica.
[]'
Comentários