Câu trả lời:
wget có một cờ tích hợp cho việc này: wget -i your_list
Bạn có thể tìm thấy loại điều này bằng cách đọcman wget
Đưa chúng song song với
cat urlfile | parallel --gnu "wget {}"
Theo mặc định, nó sẽ chạy nhiều tiến trình như bạn có lõi, bạn có thể tăng thêm 10 lần nữa nếu bạn thực sự muốn kéo chúng xuống nhanh chóng bằng cách thêm "-j 20" sau khi song song.
Tôi thấy câu trả lời của Florian Diesch.
Tôi đã làm cho nó hoạt động bằng cách bao gồm các tham số bqc
trong lệnh.
xargs -i wget -bqc 'http://{}' < download.txt
Tất cả các tải xuống bắt đầu song song trong nền.
-b
: Lý lịch. Đi đến nền ngay sau khi bắt đầu-q
: Yên tĩnh. Tắt đầu ra của wget-c
: Tiếp tục. Tiếp tục nhận tệp được tải xuống một phầnLiên kết tập tin links.txt
Lệnh tải xuống tất cả các tập tin liên kết
cat links.txt | wget -i
wget -i links.txt
là mệnh lệnh đúng.
Tôi vừa thử nghiệm điều này:
xargs -a download_file -L1 wget
Nó làm việc cho tôi. Các liên kết bên trong tệp txt phải nằm trong các dòng riêng biệt.