Подтвердить что ты не робот

Wget указать загруженное имя файла и никакого другого файла

Я хочу использовать wget, чтобы мой файл получил имя, которое я хочу. Например, если я делаю wget -r http://www.x.com/y/z, основной файл будет называться z, хотя он фактически index.html.

Я проверил опцию -O для wget, но в соответствии с руководством:

‘-O file’
‘--output-document=file’
The documents will not be written to the appropriate files, but all will be concatenated together and written to file. ...

Кажется, что все файлы будут конкатенированы и записаны в файл с нужным именем. Я бы хотел, чтобы был объединен только основной файл (а не какой-либо файл, полученный в результате рекурсии). Как я могу это сделать?

4b9b3361

Ответ 1

Оставьте -r, если вы хотите только основной файл:

wget -O customFileName http://www.x.com/y/z

wget не поддерживает переименование только одного файла рекурсивной загрузки. Помните, что имена файлов соответствуют частям URL-адреса и переименование файла приведет к поломке ссылок между файлами. Вы всегда можете либо разбить его на две части:

wget -O customFileName http://www.x.com/y/z
wget -r http://www.x.com/y/z

или просто переименуйте файл самостоятельно:

wget -r http://www.x.com/y/z
mv z customFileName

Ответ 2

Попробуйте добавить / в конец URL-адреса:

$ wget -r http://www.x.com/y/z/

Это приводит к сохранению файла index.html вместо файла z

Ответ 3

Из того, что я понимаю, вы хотите объединить файл, на который указывает сервер, и загрузить все файлы в одно место на сайте.

конкатенации:

wget -qO- http://www.google.com

Рекурсивная загрузка в одно место:

wget --mirror -p --convert-links -P ./LOCAL-DIR http://www.google.com

Где LOCAL-DIR - это один каталог, в который будут загружены все каталоги. На этом сайте:

http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/