LINUX.ORG.RU

снова wget

 


0

2

Приветствую. Возникла задача скачать кучку файлов по списку. Список вида «IP_сервера путь_куда_скачать путь_откуда_скачать» Понятно что надо разобрать файл sed-ом и скормить wget-у(или axel лучше?), но не могу сообразить как. Помогите написать скрипт.



Последнее исправление: dark-pc (всего исправлений: 1)

у тебя проблема с составлением списка? что за «путь_откуда_скачать» как он выглядит, покажи хоть одну строчку.

CHIPOK ★★★
()
Ответ на: комментарий от CHIPOK

192.168.212.24 /home/user/downloads /storage/files/file.txt - пример строки

«путь_откуда_скачать»=путь к файлу на сервере, файлы на разных тачках в разных местах, сохранить их тоже надо в разные места на локальной тачке. Прошу прощения, если косноязычен, голова немного бо-бо)

Проблема в том, что надо скормить этот список wget-у.

dark-pc
() автор топика
Ответ на: комментарий от dark-pc

Разобрался.

 cat list | while read REPLY; do wget -P "$(echo $REPLY | awk '{print $2}') $(echo $REPLY | awk '{print $1}')/$(echo $REPLY | awk '{print $3}')"; done

dark-pc
() автор топика
Ответ на: комментарий от dark-pc

Блин. ТОчнее вот так

cat list | while read REPLY; do wget --directory-prefix="$(echo $REPLY | awk '{print $2}') http://$(echo $REPLY | awk '{print $1}')$(echo $REPLY | awk '{print $3}')"; done
Не работает только.
wget: не указан URL
Почему? Если вместо wget подставить echo- строки показывает корректно..

dark-pc
() автор топика
Ответ на: комментарий от dark-pc

Всегда пожалуйста. :-)

А в качестве домашнего задания попробуйте понять, почему вот для этого варианта (безотносительно того, работает он или нет):

cat list |\
while read REPLY; do 
	wget --directory-prefix="$(echo $REPLY | awk '{print $2}') \ 
		http://$(echo $REPLY | awk '{print $1}')$(echo $REPLY | awk '{print $3}')";
done

количество порождаемых в системе процессов, равно, на глаз, 13n + 4, где n — число строк во входном файле, т. е. для обработки, скажем, ста строк надо породить и завершить 1304 (тысячу триста четыре) процессов, тогда как у «нормального» варианта — n + 1 (по одному wget’у на строчку плюс основной Баш).

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.