如何让wget覆盖文件

使用wget命令,每次我如何允许/指示覆盖本地文件,而不pipe我调用多less次。

比方说,我想从位置下载一个文件: http://server/folder/file1.html

在这里,每当我说wget http://server/folder/file1.html ,我希望这个file1.html被覆盖在我的本地系统中,而不pipe它被更改的时间,已经下载等等。我的意图/使用案例在这里是当我打电话给wget,我很确定,我想要replace/覆盖现有的文件。

我已经尝试了以下选项,但是每个选项都是为了其他目的而devise的。

  1. -nc => – 无法打开
  2. -N =>打开时间戳
  3. -r =>打开recursion检索

 wget -q http://www.whatever.com/filename.txt -O /path/filename.txt 

-q是安静的模式,所以你可以把它扔在一个cron中,而不需要命令的输出

这个选项有效

 wget -N http://server/folder/file1.html 

信息

 -N, --timestamping don't re-retrieve files unless newer than local. 

使用curl呢?

 curl http://server/folder/file1.html > file1.html 

我不认为你可以做到这一点,除非你也下载目录(所以通过-x标志)。 如果您知道文件是什么,您可以使用-O文件名,例如:
wget http://yourdomain.com/index.html -O index.html

未尝试:也许你可以使用wget -r --level=0

另一种可能性: curl -O覆盖(但是它使用不同的方式来select文件名,这对你来说可能并不重要)。

为什么不在脚本的wget中放一个小包装呢?

脚本可以将所有文件移动到临时位置,然后wget远程文件/网页。

成功时删除临时位置中的文件。 失败时将文件移回并引发错误。

除非特别知道所有文件的名称,否则没有一种简单的方法可以仅使用wget来执行所需的操作,在这种情况下,-O选项将允许您强制下载文件的文件名。