我正在尝试使用 wget 下载一些文件。我已将所有链接存储在一个.txt
文件中。当我通过命令读取该文件时wget -i <filename>.txt
,下载开始,但会生成一条通知,说明file name is too long
. 在此之后,下载过程终止。
如何重命名文件以使文件名保持在可接受的范围内并继续下载。
有没有类似的东西: -wget -O <target filename> <URL>
从文件下载时重命名.txt
文件?
我不相信 wget 中存在这个功能。您可能应该在 Perl 或 shell 脚本或类似的脚本中遍历该文件。
下面的这个例子是从ubuntuforums.org的一个例子修改而来的。只需稍作修改,您就可以使其适应您的需要的输出文件名。现在它将文件长度限制为前 50 个字符。
#!/bin/bash
while read -r link
do
output=`echo $link | cut -c 1-50`
wget "$link" -O "$output"
done < ./links.txt
for line in `cat input.txt`; do wget $line; done
您必须自己确定您想要的输出名称,否则它会将它们下载到 url 中的任何文件名(例如 blah.html)或 index.html(如果 URL 以斜杠结尾)。
有另一个选项wget
,即使用--output-document=file
。它将所有下载的文件连接到一个文件中。