1

Я управляю командой

curl -O "http://www.*site*.com/[1-9].png"

но загрузка не удалась. - вывод выглядит следующим образом

[1/10]: http://www.*site*.com/1http://w --> 1.png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   531    0   531    0     0   1618      0 --:--:-- --:--:-- --:--:--  1618

и файл 1.png имеет следующий HTML:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body><script type="text/javascript">//<![CDATA[try{(function(a){var b="http://",c="www.*site*.com",d="/cdn-cgi/cl/",e="img.gif",f=new a;f.src=[b,c,d,e].join("")})(Image)}catch(e){}//]]></script>
<h1>Not Found</h1>
<p>The requested URL /1http://w was not found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>

похоже, что он повторяет адрес в конце запроса - не знаю почему

Запуск команды для каждого файла по одному работает

curl -O "http://www.*site*.com/1.png"

заметка я тоже пробовал

curl "http://www.*site*.com/[1-9].png" -o "#1.ext"

так что это не опция -O.

2 ответа2

0

Вы могли бы сделать с XARGS или простой цикл for:

for i in `seq 0 9` ; do curl -O "http://www.*site*.com/$i.png"; done

РЕДАКТИРОВАТЬ: я не знал, что вы могли бы использовать такой синтаксис с curl ... я пытался, и он работает для меня с вашим синтаксисом, даже без параметра -o . (с завитком 7.26.0)

0

Я смог сделать это с помощью wget на вашем примере:

wget http://www.*site*.com/[1-9].png

иначе в моей реальной жизни тест:

wget https://raw.githubusercontent.com/jodumont/configFile/master/etc/mysql/conf.d/{docker,mysql,mysqld,mysqld_safe_syslog}.cnf

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