Exclua todos os arquivos, exceto aqueles que correspondem a um padrão

Digamos que você acabou de descompactar um arquivo e ele despeja todo o seu conteúdo, não em uma pasta pequena, mas no diretório atual. Agora, esse diretório que antes tinha apenas alguns arquivos .zip contém alguns outros arquivos que você gostaria de limpar.

Em vez de passar um por um, você pode mover todos os arquivos compactados que estavam no diretório para outro diretório e remover os arquivos restantes ou usar find para remover todos os arquivos que não correspondem a * .zip

O segundo método pode ser alcançado usando o comando find assim:

find . ! -name '*.zip' -exec rm -r {} ;

Isso simplesmente lê localizar no diretório atual, todos os arquivos que não têm um nome terminando em .zip, e os remove.