Você pode usar os recursos de substituição do parâmetro ${var%ext}
do shell para remover a extensão original em uma base por arquivo: para ilustrar
touch file{1..6}.NEF file{1,2,4,6}.JPG
Então
for nef in *.NEF; do [[ -f "${nef%.NEF}.JPG" ]] || echo rm -- "$nef"; done
resulta em
rm -- file3.NEF
rm -- file5.NEF
Explicação:
O primeiro comando cria apenas 6% dos arquivos.NEF
numerados file1.NEF
para file6.NEF
e os arquivos .JPG
correspondentes para 3 deles, ou seja, apenas alguns arquivos vazios para testar o segundo comando.