Lista de archivos de descarga paralela de Curl

Lista de archivos de descarga paralela de Curl

primer post lo siento si hice algún lío aquí =)

Usando la versión de servidor Ubuntu 14.04lts de 64 bits.

tengo una lista (lista.url) con solo URL para descargar, una por línea, que se ve así:

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

Como puedes ver, hay muchas líneas en el archivo (en este caso 30000). Por eso estoy usando un truco para descargar muchas URL simultáneamente con esto:

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

El problema es que me gustaría cambiar el nombre del archivo de salida con el mismo valor del campo de nombre, como: 1.html, 2.html, ..., 30000.html ecc, y usar curl para limitar el tamaño del archivo a 50 KB. Entonces el comando curl debería ser algo como:

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

¿Cómo puedo hacerlo?

Puedo analizar la salida de la tubería coneco $URL | sed -n -e 's/^.*nombre=//p'pero no sé cómo usar esto en la misma línea tomando la salida de una tubería en 2 variables ($URL y $filename).

Intenté esto sin éxito:

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

gracias de antemano

Respuesta1

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

información relacionada