Попробуйте использовать curl
вместо wget
:
curl -o "$file" -z "$file" "$uri"
man curl
говорит:
-z
/--time-cond
<выражение даты>
(HTTP/FTP) Запросить файл, который был изменен позднее, чем указанное время и дата, или файл, который был изменен до этого времени. Выражение даты может быть всевозможными строками даты или, если оно не совпадает ни с какими внутренними, вместо этого оно пытается получить время из заданного имени файла.
Если $file
не обязательно существует заранее, вам нужно использовать условный флаг -z
, используя test -e "$file"
:
if test -e "$file"
then zflag="-z '$file'"
else zflag=
fi
curl -o "$file" $zflag "$uri"
(Обратите внимание, что мы не указываем здесь расширение $zflag
, поскольку хотим, чтобы он подвергался расщеплению до 0 или 2 токенов).