Você perdeu todos os nomes de arquivos durante a substituição do comando $( ... )
. Basta perguntar wget
para ler o arquivo diretamente:
wget -i ~/links.txt
Eu tenho um script que raspa uma lista de URLs para links para vários tipos de documentos. No final, o script usa wget
para baixar os arquivos. No entanto, estou tendo problemas com nomes de arquivos que contêm espaço em branco no nome: wget
termina a URL no espaço. Existe alguma maneira de usar sed
ou algo para alterar o espaço em branco para %20
aqui? Ou alguma outra solução?
Este é o meu código:
for url in $(cat download.md)
do
lynx --listonly --dump $url | \
awk '/\.(pdf|doc|docx|odt)$/{ sub("^[ ]*[0-9]+.[ ]*","",$0); print}'
done > ~/links.txt
for i in $( cat ~/links.txt ); do wget $i;
done
Tags wget