Como remover um monte de arquivos sem um determinado sufixo

0

Estou no Linux, usando o Bash.

Eu preciso remover todos os arquivos sem um determinado sufixo, por exemplo "dist". Eu sei que existem alguns truques para fazer isso, em vez de remover todos os arquivos indesejados um por um.

    
por HaiYuan Zhang 15.11.2011 / 11:42

2 respostas

4

Use o seguinte para listar todos os arquivos que seriam removidos (apenas para ter certeza):

find /path/to/directory -mindepth 1 ! -name "*dist"

Adicione -type f se você quiser apenas excluir arquivos regulares, e não links ou diretórios simbólicos.

Execute o comando com o argumento -delete adicional no final para removê-los.

    
por 15.11.2011 / 11:47
2

Se você tiver o alargamento da globalização ativado, tente:

rm !(*.dist)

Nota: se você tiver diretórios sem a extensão .dist, isso também tentará excluí-los, mas falhará.

Para ativar o uso de globbing estendido: shopt -s extglob

    
por 15.11.2011 / 12:21

Tags