hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как скачать wget'от ссылки из файла и сохранять не index.html, а site.ru?

Есть файл с сайтами *.ru:
01-PLAN.RU
01-POKROV.RU
01-PRINT.RU
01-PROFI.RU
01-PTM.RU
01-R.RU
01-REGION.RU
01-REMONT.RU
01-RU.RU
01-S.RU
01-SB.RU
01-SBERBANK.RU
Далее около 5 млн. записей

Мне нужно с помощью wget в несколько потоков скачать главные страницы сайтов(если конечно сайт рабочий)
Нашел вот такую штуку:
cat ru.txt | xargs -t -P 20 -n1 wget
Оно работает, но сохраняет html файлы так: 'index.html', 'index.html.1' и т.д. А мне нужно чтобы файлы сохранялись так, как они записаны в файле.
Знаю что это с помощью bash сделать легко, но я запутался.
  • Вопрос задан
  • 298 просмотров
Решения вопроса 1
@vitaly_il1
DevOps Consulting
cat sites.txt| xargs -I % -t -P 20 -n1 wget % -O %
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Предыдущий немногословный оратор имел в виду, что у wget есть ключ -O, который говорит под каким именем надо сохранить скачанное.
Ссылка на мануал, как бы, намекает на правильный путь поиска подобных решений и мне такой воспитательный подход крайне импонирует.

Однако я вам рекомендую вместо xargs использовать вот такое:
while read -r; do wget $REPLY -O $REPLY.html; done < ru.txt
Ответ написан
shambler81
@shambler81 Куратор тега Linux
wget $(cat ru.txt)
а так ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы