您如何在 wget 将使用的列表中专门重命名文件?

Joe*_*inn 7 wget

我有一个文件,其中包含指向某些 youtube 视频的链接列表。

当我运行命令时:

wget -i list
Run Code Online (Sandbox Code Playgroud)

一切正常,但是 wget 会自动将文件重命名为每个链接末尾的乱码。手动运行 wget 不是一种选择,因为链接太多了。我如何为 wget 将识别的链接提供自定义名称?

Jos*_* R. 9

-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
Run Code Online (Sandbox Code Playgroud)

您还可以采用JJoao 的建议并在文件中的每个 URL 旁边添加一个文件名,然后执行以下操作:

while IFS= read -r url fileName;do
    wget -O "$fileName" "$url"
done < list
Run Code Online (Sandbox Code Playgroud)

假设您在文件中的每个 URL 之后添加了一个(唯一的)文件名(用空格分隔)。