Considere usar em curlvez de wget:
curl -o "$file" -z "$file" "$uri"
man curl diz:
-z/ --time-cond <expressão da data>
(HTTP / FTP) Solicite um arquivo que foi modificado posteriormente à data e hora especificadas ou que foi modificado antes dessa hora. A expressão de data pode ter todos os tipos de cadeias de datas ou, se não corresponder a nenhuma interna, tenta obter a hora de um determinado nome de arquivo.
Se $filenão existir necessariamente, você precisará -zcondicionar o uso do sinalizador, usando test -e "$file":
if test -e "$file"
then zflag="-z '$file'"
else zflag=
fi
curl -o "$file" $zflag "$uri"
(Observe que não citamos a expansão $zflagdaqui, pois queremos que ela seja dividida em 0 ou 2 tokens).
Se o seu shell suportar matrizes (por exemplo, Bash), teremos uma versão mais segura e mais limpa:
if test -e "$file"
then zflag=(-z "$file")
else zflag=()
fi
curl -o "$file" "${zflag[@]}" "$uri"