Список файлов для параллельной загрузки Curl

Список файлов для параллельной загрузки Curl

первый пост извините если я что-то тут напутал =)

Используется серверная версия Ubuntu 14.04lts 64bit.

У меня есть список (список url) только с URL-адресами для загрузки, по одному в каждой строке, что выглядит следующим образом:

http://domain.com/teste.php?a=2&b=3&name=1
http://domain.com/teste.php?a=2&b=3&name=2
...
http://domain.com/teste.php?a=2&b=3&name=30000

Как вы видите, в файле много строк (в данном случае 30000). Из-за этого я использую трюк, чтобы загрузить много URL одновременно:

cat url.list | xargs -n 1 -P 10 <<MAGIC COMMAND THAT WILL SAVE ME>>

Проблема в том, что я хотел бы переименовать выходной файл с тем же значением поля имени, например: 1.html, 2.html, ..., 30000.html и т. д., и использовать curl для ограничения размера файла до 50 КБ. Поэтому команда curl должна быть примерно такой:

curl -r 0-50000 -L $URL -o $filename.html -a $filename.log

Как мне это сделать?

Я могу проанализировать вывод канала с помощьюecho $URL | sed -n -e 's/^.*name=//p'но я не знаю, как использовать это в той же строке, захватывая вывод канала в 2 переменных ($URL и $filename).

Я попробовал это, но безуспешно:

cat url.list | xargs -n 1 -P 10 | filename=$(sed -n -e 's/^.*name=//p') ; curl -r 0-50000 -L $URL -o $filename.html -a $filename.log

заранее спасибо

решение1

seq 50000 |
  parallel -P 10 curl -r 0-50000 -L '"http://domain.com/teste.php?a=2&b=3&name="'{} -o {}.html -a {}.log 

Связанный контент