Você tem um (
em um dos nomes de seus arquivos e não está citando.
Tente:
find . -mindepth 3 -maxdepth 3 -type f -exec sh -c '[ -f "$(dirname '"'{}'"')/thumbnail.jpeg" ] || echo "{}"' \;
A cotação em andamento com '"'{}'"'
é passar aspas duplas até o comando dirname, caso haja um (
no nome do arquivo.
O comando '[ -f .. ]'
também precisa de aspas duplas e o comando echo também precisa de citações!
Pode ser mais fácil usar find
para chamar um script e passar o caminho como um argumento para que você não precise pensar em várias camadas de cotação e substituição. Por exemplo (não testado):
$ cat script
#!/bin/bash --
dir=$(dirname "${1}")
[ -f "${dir}/thumbnail.jpeg" ] || echo "${1}"
$ find . -mindepth 3 -maxdepth 3 -type f -exec ./script '{}' \;