1 votos

¿Cómo uso un rango hexadecimal al descargar varios archivos en Curl?

Sé que puedo descargar una secuencia de archivos usando números decimales en curl:

 curl site.com/file[000-100].jpg -o "file#.jpg"
 

Pero necesito descargar una serie hexadecimal de archivos llamados file0x000 a file0x254 . ¿Puedo especificar esto en una línea de comando? ¿O puede alguien ayudarme con un guión de bash?

0voto

JakeGould Puntos 17382

Acabo de poner el curl en for de iteración de bucle como este; guarde este archivo como nombre de algunos-como test.sh y asegúrese de que tiene permisos de ejecución-a continuación, ejecute el archivo como ./test.sh:

#!/bin/bash

for i in {0..254}; do
  filename=$(printf file0x%03d.jpg $i);
  echo curl site.com/${filename} -o "${filename}";
done

Lo anterior funciona para mí en macOS Mojave (10.14.3) así como RedHat 7 y Ubuntu 16.04. Pero la siguiente es un poco más simple, pero sólo funcionará correctamente en RedHat y Ubuntu, en macOS no hay collar de números:

#!/bin/bash

for i in {000..254}; do
  curl site.com/file0x$i.jpg -o file0x$i.jpg;
done

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: