我使用此命令下载一系列图像:
curl -O --max-time 10 --retry 3 --retry-delay 1 http://site.com/image[0-100].jpg
Run Code Online (Sandbox Code Playgroud)
有些图像已损坏,因此我将其删除.
for i in *.jpg; do jpeginfo -c $i || rm $i; done
Run Code Online (Sandbox Code Playgroud)
curl下载前如何判断文件是否存在?
我可以使用此命令来阻止curl 覆盖现有图像:
chmod 000 *.jpg
Run Code Online (Sandbox Code Playgroud)
但我不想重新下载它们.
Ron*_*ony 13
如果目标资源是静态的,curl则可以选择-z仅下载较新的目标副本.
用法示例:
curl -z image0.jpg http://site.com/image0.jpg
Run Code Online (Sandbox Code Playgroud)
您案例的一个例子:
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做这件事,但你可以在运行curl命令之前用Bash检查它.
for FILE in FILE1 FILE2 …
do
if [[ ! -e $FILE ]]; then
# Curl command to download the image.
fi
done
Run Code Online (Sandbox Code Playgroud)