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