wget usando -i com -O

2

Eu tenho um banco de dados de arquivos para download contendo campos para filename e download_url com o formato:

"foo-1.23.4.jar", "http://example.com/files/12345678/download"
"bar-5.67.8.jar", "http://example.com/files/9876543/download"
"baz-3.31.jar", "http://example.com/files/42424242/download"

Onde os URLs tendem a ser todos iguais, exceto pelo número. Eu tentei exportar a lista de URLs e baixá-las com wget -i , mas cada arquivo recebe o nome download e não tenho como diferenciá-las.

Normalmente, eu usaria o parâmetro -O para especificar o arquivo de saída correto, mas não sei como combinar isso com -i

Como posso formatar o arquivo de entrada e a linha de comando para wget -i de modo que cada linha possa especificar um URL de download e um nome de arquivo de saída?

    
por Ryan Bemrose 23.01.2018 / 22:06

1 resposta

3

Simultaneamente com o GNU parallel :

parallel -a files_list.txt -j0 -C ", *" 'wget -q -O {1} {2}' 
  • -a input-file - use input-file como fonte de entrada
  • -j N - executa até N jobs em paralelo. 0 significa o maior número possível
  • -C regex - separador de colunas. A entrada será tratada como uma tabela com regexp separando as colunas. A n'ésima coluna pode ser acessada usando {n} ou {n.} . Por exemplo. {3} é a terceira coluna
por 23.01.2018 / 22:27