Use encontre , por exemplo para apagar todos os arquivos que não são arquivos .txt:
$ find . -type f -not -name \*.txt -exec rm -f {} \;
AVISO: use este tipo de comando com cuidado, pois é fácil excluir muitos arquivos de forma não intencional. Faça um "teste a seco" primeiro se não tiver confiança, por exemplo para visualizar o comando acima:
$ find . -type f -not -name \*.txt -exec echo "Delete {}" \;