Вот неоптимизированный способ использования if в предложении exec:
find . -name '*.text' -exec sh -c 'if [ ! -f "$(dirname "$1")/$(basename "$1" .text)" ]; then echo == $1; fi' sh {} \;
, и здесь что-то лучше с дополнительным циклом:
find . -name '*.text' -exec sh -c 'for i do if [ ! -f "${i%.text}" ]; then echo == $i; fi;done' sh {} +