Por que você esperaria conseguir fazer o download de PDFs desse URL? O PubMed geralmente não oferece PDFs, dá um link para a página da revista e você obtém o PDF a partir daí.
De qualquer forma, o seu script está bem, a questão é que os links que você está dando não apontam para arquivos PDF, mas arquivos XML e é isso que está sendo baixado:
$ ls
10021369.pdf 10051007.pdf 10064668.pdf
10051005.pdf 100562.pdf 10071185.pdf
$ file *
10021369.pdf: XML document text
10051005.pdf: XML document text
10051007.pdf: XML document text
100562.pdf: XML document text
10064668.pdf: XML document text
10071185.pdf: XML document text
Para fazer o download de PDFs, você precisará fornecer links que apontam para arquivos PDF. Você pode testar isso apontando seu navegador para um dos links que seu script visita. Por exemplo, link . Se você visitar esse link, verá que não é um arquivo PDF.
Se todos os seus PMID forem links para artigos que também estejam no PubMed Central, você poderá obter os PDFs depois de converter os IDs do PubMed em IDs do PubMed Central:
#!/usr/bin/env bash
Link="http://www.ncbi.nlm.nih.gov/pubmed/"
PMCLink="http://www.ncbi.nlm.nih.gov/pmc/articles/"
ID=(10021369
10051005
10051007
100562
10064668
10071185
)
for f in ${ID[@]};
do
PMCID=$(wget --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" \
-l1 --no-parent ${Link}${f} -O - 2>/dev/null | grep -Po 'PMC\d+' | head -n 1)
if [ $PMCID ]; then
wget --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" \
-l1 --no-parent -A.pdf ${PMCLink}${PMCID}/pdf/ -O ${f}.pdf 2>/dev/null
else
echo "No PMC ID for $f"
fi
done
A execução deste script fará o download dos 2 PDFs disponíveis gratuitamente a partir dos IDs que você forneceu ( 10051005.pdf
e 10051007.pdf
) e imprimirá um erro para o restante:
No PMC ID for 10021369
No PMC ID for 100562
No PMC ID for 10064668
No PMC ID for 10071185
Você terá que fazer o restante manualmente ou descobrir como analisar os URLs relevantes.