Eu executo este comando em uma caixa Unix:
find . name CVS -exec rm -fr {} \;
Eu queria excluir qualquer arquivo chamado CVS
em qualquer diretório do diretório atual e ele excluiu tudo.
Felizmente, tudo que tive que fazer para me recuperar foi verificar novamente o CVS. Imagine se eu especificasse /
como diretório inicial!
Acho que o motivo é que usei name
em vez de -name
. Acabei de reexecutá-lo como
find . -name CVS -exec rm -fr {} \;
E parece funcionar bem. O que exatamente acontece se name
for usado em oposição a -name
?
Responder1
Você está perdendo o traço antes -name
, por isso estava procurandocaminhosnomeado .
e name
, CVS
onde o ponto faz referência à pasta atual, excluindo tudo.
O utilitário find desce recursivamente na árvore de diretórios para cada caminho listado.
Você pode testar facilmente usando echo
antes do comando que deseja executar:
encontrar . nome CVS -exec echo rm -fr {} \;