如何使用 wget 下载多个文件?我还想重命名这些文件。以下是我逐个运行的命令(在终端上复制/粘贴):
wget -c --load-cookies cookies.txt http://www.filesonic.com/file/812720774/PS11.rar -O part11.rar
wget -c --load-cookies cookies.txt http://www.filesonic.com/file/812721094/PS12.rar -O part12.rar
wget -c --load-cookies cookies.txt http://www.filesonic.com/file/812720804/PS13.rar -O part13.rar
wget -c --load-cookies cookies.txt http://www.filesonic.com/file/812720854/PS14.rar -O part14.rar
........ and so on..
我该怎么做才能逐个下载所有这些文件?
答案1
你可能想要一个像这样的简短的 shell 脚本:
#!/usr/bin/env bash
while read line
do
wget -c --load-cookies cookies.txt $line -O ${line##*/}
done < filelist
其中filelist
是一个包含每个下载链接的文本文件,逐一包含。${line##*/}
将提取文件名本身,从而生成类似于以下命令的内容:
wget -c --load-cookies cookies.txt http://download/file1.rar -O file1.rar
wget -c --load-cookies cookies.txt http://download/file2.rar -O file2.rar
wget -c --load-cookies cookies.txt http://download/file3.rar -O file3.rar
如果您想要并行运行这些代码,您也可以将该wget
行括在括号内以在子 shell 中运行它。
(wget -c --load-cookies cookies.txt $line -O ${line##*/})
或者添加一个 & 符号。但是这意味着当您取消脚本时下载仍会运行。您必须手动终止每个进程。
wget -c --load-cookies cookies.txt $line -O ${line##*/} &