Por que “encontrar. -iname ”* .jpg“ -tipo f -print0 | xargs -0 rm * ”delete todos os arquivos?

0

O comportamento esperado era excluir todos os .jpgs, mas apagou todos os arquivos no diretório.

Como o comando pode ser alterado para encontrar e excluir todos os arquivos xyz?

    
por janot dopor 01.12.2013 / 13:59

1 resposta

5

Você executou rm * result1.jpg result2.jpg result3.jpg ... , não rm result1.jpg result2.jpg result3.jpg ... , portanto, excluindo tudo que correspondesse * por meio da expansão do shell.

Mas você nem precisa de xargs para essa tarefa simples.

Execute find ... -type f -print primeiro, caso você não esteja confiante sobre sua expressão. Certifique-se de gostar dos resultados.

Em seguida, execute find ... -type f -delete .

    
por 01.12.2013 / 14:01

Tags