如果wget中存在文件,跳过下载?
这是运行wget的最简单的例子:
wget http://www.example.comhttp://img.dovov.commisc/pic.png
但是如果pic.png
已经可用,如何让wget跳过下载?
尝试以下参数:
-nc
,–--no-clobber
:跳过可下载到现有文件的下载。
示例用法:
wget -nc http://example.com/pic.png
-nc
,– --no-clobber
选项不是最好的解决scheme,因为不会下载更新的文件。 一个应该使用-N
代替,只有当服务器有更新的版本时才会下载和覆盖文件,所以正确的答案是:
wget -N http://www.example.comhttp://img.dovov.commisc/pic.png
然后使用-N运行Wget(带或不带
-r
或-p
,决定是否下载文件的较新副本取决于文件的本地和远程时间戳和大小。-nc
可能不与-nc
同时指定
-N
, –--timestamping
:打开时间戳。
当使用-r
或-p
运行Wget,但没有-N
, -nd
或-nc
,重新下载文件将导致新的拷贝覆盖旧的文件。
因此,添加-nc
将防止这种行为,而不是导致保留原始版本,并忽略服务器上的任何较新的副本。
在GNU上查看更多信息。
我正在寻找的答案在https://unix.stackexchange.com/a/9557/114862 。
当本地文件的大小与服务器版本大小相同时,使用
-c
标志将避免重新下载。