Remove todos os arquivos .class das pastas no bash [duplicado]

0

Estou fazendo um arquivo bash para remover todos os arquivos .class que o java gera dentro da pasta src e suas subpastas. A estrutura é:

project
   src
      /utils
         utils.class
      /game
         game.class
         gameManager.class

Então, quando executo o script dentro da pasta project , ele pesquisa todos os arquivos .class e os remove, mas não funciona.

Acabei de criar este script:

find . -path "src/*/*" -name "*.class" -exec rm -f {} \;

Como posso corrigir isso?

    
por albert 20.03.2017 / 16:59

2 respostas

2

Não funciona porque o caminho não começa com src , começará com ./src .

Sua linha de comando pode ser corrigida para isso:

find . -type f -path "./src/*/*" -name "*.class" -exec rm -f {} \;

Alternativamente,

find . -type f -path "./src/*/*" -name "*.class" -delete

Se você estiver feliz em excluir todos os arquivos *.class em qualquer lugar em src (não apenas em seus subdiretórios):

find src -type f -name "*.class" -delete
    
por 20.03.2017 / 17:02
0
cd ./project/src && \
find . -name '*.class' -exec rm -f {} \;

Não há necessidade de complicar as coisas simples.

    
por 20.03.2017 / 17:03

Tags