Não consegui encontrar uma maneira de fazer isso com find
diretamente, mas é muito fácil usar um loop for:
for file in *.pdf; do [ -f ${file}.csv ] || echo $file; done
Se você precisar executá-lo no diretório principal e fazer com que ele seja recursivo, você poderá usar o seguinte:
for file in $(find . -iname '*.pdf'); do [ -f ${file}.csv ] || echo $file; done
que produziria algo assim:
./dir2/test7.pdf
./dir2/test6.pdf
./dir2/test8.pdf
./dir3/test7.pdf
./dir3/test6.pdf
./dir3/test8.pdf
./dir1/test7.pdf
./dir1/test6.pdf
./dir1/test8.pdf
Cuidado com esse último, porém, se você não tiver certeza de que não haverá caracteres estranhos nos nomes dos arquivos de entrada, certifique-se de definir Variável de ambiente do IFS que está sendo codificada:
OFS=$IFS
export IFS=$'\n'
Claro que, daqui em diante, só fica mais desagradável.
Eu estou supondo que você use bash.