Altere o último loop while
para este:
while read line
do
if grep -q "^$line$" /infanass/dev/admin/test/parsed.txt
then
echo "${line}.pdf" >>matches.txt
fi
done < /infanass/dev/admin/test/file1.txt
A propósito, você não precisa de ponto-e-vírgula para seus loops se estiver escrevendo um script em um arquivo. Eles são necessários apenas se você estiver escrevendo um comando composto em uma única linha em um terminal.