我知道您可以使用以下方式从多个网址下载:
wget "url1" "url2" "url3"
重命名输出文件可以通过以下方式完成:
wget "url1" -O "new_name1"
但是当我尝试
时wget "url1" "url2" "url3" -O "name1" "name2" "name3"
所有文件都使用name1。
在单个命令中执行此操作的正确方法是什么?
答案 0 :(得分:0)
是这样的,你可以在文件中的每个URL旁边添加一个文件名,然后执行:
while IFS= read -r url fileName;do
wget -O "$fileName" "$url"
done < list
假设您在文件中的每个URL之后添加了(唯一的)文件名(以空格分隔)。
-O
选项允许您指定目标文件名。但是,如果您一次下载多个文件,wget会将所有内容保存到您通过-O
指定的文件中。请注意,在任何一种情况下,如果文件已存在,文件将被截断。有关详细信息,请参见手册页。
您可以通过告诉wget逐个下载链接来利用此选项:
while IFS= read -r url;do
fileName="blah" # Add a rule to define a new name for each file here
wget -O "$fileName" "$url"
done < list
希望它有用。