2014-11-01 92 views
1

我已经知道您可以通过-O参数指定使用wget完成的下载的文件名。但是如果文件已经存在,它会被覆盖。如果你没有指定文件名wget永远不会覆盖文件,它只会附加一个.1,.2,.3等等。我想为我指定的文件名添加解决方案。那可能吗?使用wget指定要下载的文件名而不覆盖

+0

这不是一个编程问题,unix.stackexchange.com是一个更好的地方问。 – Barmar 2014-11-01 00:35:31

回答

0

您是否尝试过-nc或​​参数?它跳过覆盖文件的下载?

+1

他不想跳过他们,他想附加一个版本后缀。 – Barmar 2014-11-01 00:36:04

+0

完全正确,对不起。 – Lucio 2014-11-03 07:30:43

2

这里是如果需要寻找一种尚不存在的文件名,将追加数的函数:

newfile() { 
    fname=$1 
    count=0 
    while [ -e "$fname" ] 
    do 
     fname="$1.$((++count))" 
    done 
    echo "$fname" 
} 

使用范例:

$ ls 
$ newfile abc 
abc 
$ touch abc 
$ newfile abc 
abc.1 

随着wget,你可能会使用它作为:

wget http://example.com/index.html -O "$(newfile something)"