TL; DR; (o que é uma péssima ideia ao deletar coisas automaticamente)
find . ! -name "*.???" -type f -max-depth 1 -delete
Devidamente explicado e testado:
Passo 0: Configurando o ambiente de teste:
mkdir test
cd test
touch test1
touch test1.bar
touch test1.foo
touch test1.baz
touch test1.bazar
Etapa 1: encontre todos os arquivos com extensão de três letras:
find . -name "*.???" -type f -print
./test1.bar
./test1.baz
./test1.foo
Passo 2: Invertendo a seleção
find . ! -name "*.???" -type f -print
./test1
./test1.bazar
Etapa 3: substitua o -print
por -delete
.
Se você não quiser mergulhar em subdiretórios, adicione um -max-depth=1