使用自定义文件名同时(并行)下载多个文件

时间:2013-11-23 00:27:50

标签: bash curl wget aria2

在bash脚本中,我尝试使用单个命令(无循环)使用自定义文件名下载多个并行文件

我尝试使用aria2c:

aria2c -j2 URL1 URL2                # BAD: outputs to a single file

aria2c -j2 -Z URL1 -o 1 URL2 -o 2   # BAD: filenames taken from link (-o is ignored)

第二个忽略输出文件名,因为引用了aria2c联机帮助页:

  

在Metalink或BitTorrent下载中,您无法指定文件名。此处指定的文件名   只有在没有--input-file, - force-sequential选项的情况下通过命令行完成输入到aria2的URI时才会使用。例如:

     

$ aria2c -o myfile.zip" http://example1.com/file.zip" " http://example2.com/file.zip"

这是我想要避免的:

aria2c URL1 -o 1 &
aria2c URL2 -o 2 &
aria2c URL3 -o 3                     # BAD: slow and ugly, because aria2c is called thrice

有什么建议吗?

2 个答案:

答案 0 :(得分:12)

Aria2c supports getting URIs from a file

尝试将文件名写入文件,然后运行“aria2c -i uri-list.txt”或将它们写入stdout并将它们传送到“aria2c -i - ”

答案 1 :(得分:0)

带有-Z选项:

-Z, --force-sequential[=true|false] Fetch URIs in the command-line sequentially and download each URI in a separate session, like the usual command-line download utilities.

所以在您的情况下:

aria2c -Z URL1 URL2 URL3 URL4