Considere usar curl em vez de wget :
curl -o "$file" -z "$file" "$uri"
man curl diz:
-z/--time-cond<date expression>(HTTP/FTP) Request a file that has been modified later than the given time and date, or one that has been modified before that time. The date expression can be all sorts of date strings or if it doesn't match any internal ones, it tries to get the time from a given file name instead.
Se $file não necessariamente existir, você precisará usar o -z flag condicional, 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 de $zflag aqui, pois queremos que ele seja dividido em 0 ou 2 tokens).