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.