2012-05-13 20 views
8

que utilizar este comando para descargar una serie de imágenes:¿Cómo decirle a curl que verifique la existencia del archivo antes de la descarga?

curl -O --max-time 10 --retry 3 --retry-delay 1 http://site.com/image[0-100].jpg 

Algunas imágenes están dañados, por lo que los elimine.

for i in *.jpg; do jpeginfo -c $i || rm $i; done 

Cómo saber curl para comprobar la existencia del archivo antes de descargar?

que puede utilizar este comando para evitar la invalidación curl imágenes existentes:

chmod 000 *.jpg 

pero no desee volver a descargarlos.

Respuesta

13

Si el recurso de destino es estático, curl tiene una opción -z descargar sólo una copia de destino más reciente. ejemplo

Uso:

curl -z image0.jpg http://site.com/image0.jpg 

Un ejemplo para su caso:

for i in $(seq 0 100); do curl -z image$i.jpg -O --max-time 10 --retry 3 --retry-delay 1 http://site.com/image$i.jpg; done

+1

... o con un comando: rizo en tiempo --max 10 --retry 3 --retry -delay 1 http: // dominio/imagen [0-100] .jpg -O imagen # 1.jpg -z imagen # 1.jpg – Tobias

5

No hay idea de hacerlo con curl, pero podrías verificarlo con Bash antes de ejecutar el comando curl.

for FILE in FILE1 FILE2 … 
do 
    if [[ ! -e $FILE ]]; then 
    # Curl command to download the image. 
    fi 
done 
Cuestiones relacionadas