Eu faria:
grep -oP '(?<=Some problem with file named ).*pdf(?=\.)' \
/home/myname/log/myspecificlogfile.log | awk -F / '
ARGIND == 1 {files[$0]; next}
$NF in files' - RS='grep -oP '(?<=Some problem with file named ).*pdf(?=\.)' \
/home/myname/log/myspecificlogfile.log | awk -F / '
ARGIND == 1 {files[$0]; next}
$NF in files' - RS='%pre%' <(
find /home/myname/workfolders/ -name '*pdf' -type f -print0)
' <(
find /home/myname/workfolders/ -name '*pdf' -type f -print0)
(assume a implementação GNU de grep e awk e um shell com suporte para substituição de processo como ksh , zsh ou bash ).
Usar find -name não seria ideal para nomes de arquivos *.pdf ou ?.pdf , por exemplo. Executar um find por nome de arquivo seria ineficiente. Mesmo que você tenha feito uma solução que chame um find com -name a.pdf -o -name b.pdf... , isso provavelmente ainda será menos eficiente do que uma pesquisa de hash como feita por awk .