! é o operador find não . Então, para excluir arquivos terminados em .ext dos resultados, inclua o termo ! -name \*.ext .
Para argumentos numéricos, como tamanho de arquivo, um prefixo de + significa maior que e um prefixo de - significa menor que . Então, para encontrar um arquivo maior que 12 kilobytes (realmente kibibytes) e menor que 500 Megabytes (realmente Mebibytes), inclua os termos -size +12k e -size -500M .
Seu segundo exemplo seria algo assim.
find . -type f -size +12k -size -500M ! -name \*.ext -delete