wget 命令下载文件并保存为不同的文件名

Posted

技术标签:

【中文标题】wget 命令下载文件并保存为不同的文件名【英文标题】:wget command to download a file and save as a different filename 【发布时间】:2013-05-16 17:18:12 【问题描述】:

我正在使用wget 命令下载文件。但是当它下载到我的本地机器时,我希望它保存为不同的文件名。

例如:我正在从www.examplesite.com/textfile.txt下载一个文件

我想使用wget 将文件textfile.txt 保存在我的本地目录中为newfile.txt。我使用wget命令如下:

wget www.examplesite.com/textfile.txt

【问题讨论】:

我是wget -O newfile.txt 但 wget -o 只会将下载进度作为日志文件提供给您。我试过 wget -o。 wget -o 会将日志信息输出到文件中。 wget -O 将输出下载的内容。 man wget 会告诉你所有这些以及更多。 @AndyRoss 所说的:注意大写;它在 unix/linux 领域通常很有意义。 这根本不能回答问题。命令的 OUTPUT 将保存到 -o 文件,但文件本身将使用相同的名称下载,而不是“另存为”。 【参考方案1】:

使用-O file 选项。

例如

wget google.com
...
16:07:52 (538.47 MB/s) - `index.html' saved [10728]

对比

wget -O foo.html google.com
...
16:08:00 (1.57 MB/s) - `foo.html' saved [10728]

【讨论】:

手册页显示:“使用 -O 并不意味着简单地‘使用名称文件而不是 URL 中的文件;’相反,它类似于 shell 重定向:wget -O file http://foo 旨在像 wget -O - http://foo > file 一样工作;文件将被立即截断,所有下载的内容都将写入那里。" 如何追加到 foo.html 而不是覆盖它? @CraigJacobs 您可以在控制台中输出wget 并将其附加到文件中。例如wget -O - -o /dev/null http://google.com >> foo.html。 Reference 这种方法会使 --timestamping 无效 如果目录之前不存在,此命令不会创建文件【参考方案2】:

您将使用列出的机械蜗牛命令。请注意大写 O。要使用的完整命令行可能是:

wget www.examplesite.com/textfile.txt --output-document=newfile.txt

wget www.examplesite.com/textfile.txt -O newfile.txt

希望对您有所帮助。

【讨论】:

--output-document=newfile.txt 对我有用。所有使用 -O 的尝试都失败,错误为 Resolving webmin_1.630_all.deb (webmin_1.630_all.deb)... failed: Name or service not known.【参考方案3】:

还要注意命令行参数的顺序。至少在某些系统上(例如 CentOS 6):

wget -O FILE URL

有效。但是:

wget URL -O FILE

不工作。

【讨论】:

【参考方案4】:

使用 CentOS Linux 我发现最简单的语法是:

wget "link" -O file.ext

其中"link" 是您要保存的网址,"file.ext" 是您选择的文件名和扩展名。

【讨论】:

我不明白 2 年后用相同的答案回答一个已经回答的问题..【参考方案5】:
wget -O yourfilename.zip remote-storage.url/theirfilename.zip

将为您解决问题。

注意:

a) 它的大写字母 O。

b) wget -O filename url 只会起作用。将 -O 放在最后不会。

【讨论】:

【参考方案6】:

在这种情况下可以使用curlwget。所有这 3 个命令都做同样的事情,在 http://path/to/file.txt 下载文件并将其保存到本地“my_file.txt”:

wget http://path/to/file.txt -O my_file.txt  # my favorite--it has a progress bar
curl http://path/to/file.txt -o my_file.txt
curl http://path/to/file.txt > my_file.txt

注意第一个-O 是大写字母“O”。

wget 命令的好处是它显示了一个漂亮的进度条。

您可以通过比较它们的 sha512 哈希值来证明上述 3 种技术下载的文件完全相同。在运行上述每个命令后运行 sha512sum my_file.txt 并比较结果,显示所有 3 个文件具有完全相同的 sha 哈希(sha 总和),这意味着文件完全相同,逐字节。

另见:How to capture cURL output to a file?

【讨论】:

以上是关于wget 命令下载文件并保存为不同的文件名的主要内容,如果未能解决你的问题,请参考以下文章

wget命令详解

wget下载工具

wget常用下载命令

命令行下载工具wget

Linux命令学习-wget命令

利用wget下载文件,并保存到指定目录