Odpowiedzi:
wget ma wbudowaną flagę: wget -i your_list
Możesz znaleźć tego rodzaju rzeczy, czytającman wget
Połącz je równolegle z
cat urlfile | parallel --gnu "wget {}"
Domyślnie uruchomi tyle procesów, ile masz rdzeni, prawdopodobnie możesz zwiększyć to o kolejne 10 razy, jeśli naprawdę chcesz je szybko wyciągnąć, dodając „-j 20” po równolegle.
xargs -i wget 'http://{}' < your_list
Zobaczyłem odpowiedź Floriana Diescha.
Sprawiłem, że zadziałało, włączając parametr bqc
do polecenia.
xargs -i wget -bqc 'http://{}' < download.txt
Wszystkie pobieranie rozpoczęło się równolegle w tle.
-b
: Tło. Przejdź do tła natychmiast po uruchomieniu-q
: Cichy. Wyłącz wyjście wget-c
: Dalej. Kontynuuj pobieranie częściowo pobranego plikuLink do pliku links.txt
Polecenie pobrania pliku wszystkich linków
cat links.txt | wget -i
wget -i links.txt
to właściwe polecenie.
Właśnie przetestowałem to:
xargs -a download_file -L1 wget
Mi to pasuje. Łącza w pliku txt muszą znajdować się w osobnych wierszach.