1

Я получил кучу файлов для скачивания, который прекрасно работает с

wget -i list_of_urls

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

http://www.example.com/file1.html
http://www.example.com/file2.html

Привести к файлам:

http___www_example_com_file_1.html
http___www_example_com_file_2.html  

2 ответа2

1

Используйте несколько простых сценариев bash. Например, если у вас есть файл "foo" с URL-адресами:

http://www.google.com/index.html
http://www.cnn.com/index.html

Вы можете запустить:

for i in `cat foo`; do wget $i -O `echo $i | sed 's/[^A-Za-z0-9]/_/g' | sed 's/_html$/.html/'`; done

который производит

http___www_cnn_com_index.html
http___www_google_com_index.html
0

Используйте опцию «-x», описанную здесь. Например, дан файл "foo" с содержимым:

http://www.google.com/index.html
http://www.cnn.com/index.html

Если вы бежите

wget -x -i foo

тогда вы получите эти файлы:

www.google.com/index.html
www.cnn.com/index.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .