使用wget命令,每次我如何允许/指示覆盖本地文件,而不pipe我调用多less次。
比方说,我想从位置下载一个文件: http://server/folder/file1.html
在这里,每当我说wget http://server/folder/file1.html ,我希望这个file1.html被覆盖在我的本地系统中,而不pipe它被更改的时间,已经下载等等。我的意图/使用案例在这里是当我打电话给wget,我很确定,我想要replace/覆盖现有的文件。
我已经尝试了以下选项,但是每个选项都是为了其他目的而devise的。
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选项将允许您强制下载文件的文件名。