Используя wget
команду, как мне разрешить / дать указание перезаписывать мой локальный файл каждый раз, независимо от того, сколько раз я вызываю.
Допустим, я хочу скачать файл с места: http: //server/folder/file1.html
Здесь, всякий раз, когда я говорю wget http://server/folder/file1.html
, я хочу, чтобы это file1.html
было перезаписано в моей локальной системе, независимо от времени, когда оно было изменено, уже загружено и т. Д. Мое намерение / случай использования здесь заключается в том, что когда я вызываю wget, я очень уверен, что хочу заменить / перезаписать существующий файл.
Я опробовал следующие варианты, но каждый вариант предназначен / предназначен для какой-то другой цели.
- -nc => --no-clobber
- -N => Включить отметку времени
- -r => Включить рекурсивный поиск
wget
команде нет прямой опции, которая делает это без явного указания-O filename
?Эта опция работает
Информация
источник
Использовать
curl
вместо?источник
wget
иcurl
? Я уверен, что каждая команда предназначена для определенной цели.Я не думаю, что вы можете сделать это, если вы также не загрузите каталоги (поэтому передайте флаг -x). Если вы знаете, что это за файл, вы можете использовать -O filename, например:
wget http://yourdomain.com/index.html -O index.html
источник
Не проверено: возможно, вы можете работать с
wget -r --level=0
.Другая возможность:
curl -O
перезаписывает (но использует другой способ выбора имени файла, который может иметь или не иметь значения для вас).источник
wget
строка на самом деле не делает правильную вещь, потому что она создает иерархию подкаталогов.curl -O
с другой стороны, правильно загружает файл, перезаписывая существующие копии.Почему бы не поместить небольшую оболочку вокруг wget в ваш скрипт?
Сценарий может переместить все файлы во временную папку, а затем создать удаленные файлы / веб-страницы.
В случае успеха удалите файлы во временном местоположении. В случае неудачи переместите файлы обратно и выдайте ошибку.
Нет простого способа сделать то, что вы хотите, используя только wget, если вы точно не знаете имя всех файлов, в этом случае опция -O позволит вам принудительно указать имя файла загруженного файла.
источник