apaga vários arquivos, mas deixa o selecionado

1

Eu tenho uma pasta contendo várias pastas e espero deletar todas elas, mas deixar uma selecionada, como eu poderia fazer isso com o comando "rm" no Ubuntu12.04?

    
por Ming Zhao 03.02.2014 / 13:16

2 respostas

1

Como a exclusão de arquivos pode causar sérios problemas, eu recomendaria mover arquivos indesejados para alguma pasta antes de excluí-los do disco. Vamos criar a pasta wastebasket e colocá-la em ~ :

mkdir ~/wastebasket/

Em seguida, vamos cd para a pasta, que requer limpeza, e mova todos os arquivos, exceto um, chamado precious , para wastebasket :

cd mess/
ls -1 | grep -xv precious | xargs -i mv -i {} ~/wastebasket/

Se tudo correu como esperado, exclua o wastebasket :

rm -rf wastebasket
    
por powermelon 03.02.2014 / 13:50
0

Se o arquivo estiver no diretório atual, você pode simplesmente fazer:

for file in *; do if [ $file != 'NAME_OF_YOUR_FILE' ]; then rm -r $file; fi; done

Aviso: pode causar a perda de dados valiosos, não testados com arquivos que tenham caracteres especiais, espaços, novas linhas, zero caracteres, nomes de presidentes americanos.

    
por v010dya 03.02.2014 / 13:50