Как сказать curl, чтобы проверить существование файла перед загрузкой?
я использую эту команду для загрузки серии изображений:
curl -O --max-time 10 --retry 3 --retry-delay 1 http://site.com/image[0-100].jpg
некоторые изображения повреждены, поэтому я удаляю их.
for i in *.jpg; do jpeginfo -c $i || rm $i; done
как рассказала curl
чтобы проверить существование файла перед загрузкой?
Я могу использовать эту команду, чтобы предотвратить curl
переопределить существующие изображения:
chmod 000 *.jpg
но я не хочу повторно загружать их.
2 ответов
если целевой ресурс статический,curl
имеет параметр -z
для загрузки только новой целевой копии.
пример использования:
curl -z image0.jpg http://site.com/image0.jpg
пример для вашего случая:
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
Не знаю, как это сделать с curl, но вы можете проверить его с Bash, прежде чем запускать команду curl.
for FILE in FILE1 FILE2 …
do
if [[ ! -e $FILE ]]; then
# Curl command to download the image.
fi
done