- 如果在wget中使用了--html-extension, - no-clobber仍会覆盖文件?

时间:2012-12-09 00:58:29

标签: html wget overwrite

我有一个用于下载所有Chrome书签的脚本。我使用带有--html-extension的wget,因为有些书签以.php结尾,除非使用了--html-extension选项,否则无法通过Web浏览器打开。我遇到的问题是当我使用--html-extension和--no-clobber时,它不会认识到大多数文件已经出于某种原因存在,所以它经历了重新加载它的整个过程已经有了。

一个例子:     wget -nc http://www.test.com/ 运行一次将保存文件,就像它应该的那样。如果你再次运行它然后它会说文件已经存在,所以不检索。这是我期望的操作。

但是,删除刚刚保存并运行的文件:     wget -nc http://www.test.com/ --html-extension 然后再次运行相同的命令。它会覆盖文件而不是说已存在的文件。发生了什么事?

1 个答案:

答案 0 :(得分:2)

当添加html后缀时,wget无法告诉你要将它与哪个远程文件进行比较。

man wget:http://unixhelp.ed.ac.uk/CGI/man-cgi?wget

======================

- HTML的扩展

如果下载了application / xhtml + xml或text / html类型的文件    并且URL不以正则表达式结束。[Hh] [Tt] [Mm] [Ll] ?,这个    选项将导致后缀.html被附加到本地    文件名。例如,当您镜像时,这很有用    使用.asp页面的远程站点,但您需要镜像页面    在您的库存Apache服务器上可以查看。另一个很好的用途    这是当你下载CGI生成的材料时。一个URL    像http://site.com/article.cgi?25一样将保存为arti-    cle.cgi?25.html。

请注意,每次都会重新下载以这种方式更改的文件名    你重新镜像一个网站的时间,因为Wget无法分辨出本地    X.html文件对应于远程URL X(因为它还不知道    URL生成text / html或application / xhtml + xml类型的输出。要防止重新下载,必须使用-k    和-K,以便将文件的原始版本保存为    X.orig。