Aqui está uma maneira de fazer isso no bash:
declare -i i=1
while (( $i <= 50 ))
do
filename="file_${i}.jpg"
curl -o ${filename} http://wwww.mysite.com/images.php?id=${i}
if ! file ${filename} | grep -qi image
then
rm -f ${filename}
fi
i=$(($i + 1))
done
Isso percorre todas as 50 imagens potenciais, faz o download de cada uma, verifica se realmente é uma imagem e exclui o arquivo baixado, se não for.
Se a sua plataforma tiver o comando seq
, você poderá simplificar o loop dessa maneira:
for i in $(seq 50)
do
filename="file_${i}.jpg"
curl -o ${filename} http://wwww.mysite.com/images.php?id=${i}
if ! file ${filename} | grep -qi image
then
rm -f ${filename}
fi
done
Nas versões mais recentes do bash, você também pode usar o {n..m}
construct:
for i in {1..50}
do
...
done