3

Я сохраняю изображения с:

#!/bin/bash
for i in {1..30000}
do
    wget "http://services.runescape.com/m=itemdb_rs/3809_obj_sprite.gif?id="$i
done

Есть ли способ ускорить процесс? Иногда URL не существует, и я получаю:

connected.
HTTP request sent, awaiting response... 404 Not found
2012-08-04 18:09:36 ERROR 404: Not found.

Как я могу продолжить после этой ошибки?

2 ответа2

8

Пытаться

wget "http://s.../m=itemdb_rs/3809_obj_sprite.gif?id="$i || true

Таким образом, если wget завершится неудачно, результат этой строки будет по-прежнему нулевым, и ваш скрипт продолжится.

Чтобы узнать, как правильно обрабатывать ошибки в скрипте bash, ознакомьтесь со следующими ресурсами:

1

Вы можете попробовать что-то вроде этого.

#!/bin/bash
for i in {1..30000};
do 
x="http://64.79.147.130/m=itemdb_rs/3809_obj_sprite.gif?id="$i
if [[ $(echo $(GET -sd $x | grep "404")) = "" ]]; 
then 
wget --no-dns-cache -nc -U"Firefox/10" $x 2>&1 \
| grep "Saving" | sed 's,Saving to,Saved,'; 
fi 
done

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