1

我正在尝试使用 wget 下载一些文件。我已将所有链接存储在一个.txt文件中。当我通过命令读取该文件时wget -i <filename>.txt,下载开始,但会生成一条通知,说明file name is too long. 在此之后,下载过程终止。

如何重命名文件以使文件名保持在可接受的范围内并继续下载。

有没有类似的东西: -wget -O <target filename> <URL>从文件下载时重命名.txt文件?

4

2 回答 2

2

我不相信 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
于 2013-11-10T14:39:06.120 回答
1

使用 bash 作为助手

for line in `cat input.txt`; do wget $line; done

您必须自己确定您想要的输出名称,否则它会将它们下载到 url 中的任何文件名(例如 blah.html)或 index.html(如果 URL 以斜杠结尾)。

将所有文件转储到一个整体文件

有另一个选项wget,即使用--output-document=file。它将所有下载的文件连接到一个文件中。

于 2013-11-10T14:43:13.863 回答