Cygin curl URL 检索,图像的特定范围和文件夹位置



我有一个我一直在用于Cygwin的脚本,它可以抓取URL并将它们保存到默认文件夹中。我想做的是进一步指定和自动化它,这样我就不必搞砸它了。

以下是当前脚本:

curl "http://ids.lib.harvard.edu/ids/view/Converter?id=[45477234-45477312]&c=jpgnocap&s=2&r=0&x=0&y=0&w=2400&h=2400" -o "#1.jpg"

这样做是在有限的窗口中将特定图像保存为默认文件夹中的jpg。"x="和"y="确定此大图像(如 7000x9000)上的第一个像素值的位置。我一直试图通过拼接将这些图像拼凑在一起。

我想通过将 x 和 y 值按特定数量(即 2400)增加来自动化此操作。我知道如何做范围,但我想添加 2400(0、2400、4800、7200、9600),似乎将逗号放入方括号中不起作用。

此外,我想确保当它返回到每个 URL 时,它不会保存自己。我想要一组带有结尾((0),(1)等)的图像分组,我可以将其用作将它们放在一起的指南。(PS 如果您知道自动化此过程的好方法,我很想听听)。

我想这个修复非常简单,但我是 bash 脚本的新手。非常感谢您的任何帮助!

所以显而易见的方法只是使用嵌套循环进行网格状拼接,这里有一个例子,我们首先从输入(-x-y)中读取最大 x 和 y 坐标,然后从0,0一直循环遍历一列的可能性,一直到$x_max, $y_max

#! /bin/bash
while [[ $# -gt 0 ]]; do
case $1 in
-x )
x_max=$2
shift
;;
-y )
y_max=$2
shift
;;
* )
echo "unknown option" && exit 2
;;
esac
shift
done
for (( xcord = xcounter = 0; xcord <= $x_max; xcord+=2400, xcounter+=1 )); do
for (( ycord = ycounter = 0; ycord <= $y_max; ycord+=2400, ycounter+=1 )); do
curl "http://ids.lib.harvard.edu/ids/view/Converter?id=[45477234-45477312]&c=jpgnocap&s=2&r=0&x=${xcord}&y=${ycord}&w=2400&h=2400" -o "#${xcounter}_${ycounter}.jpg"
done
done

相关内容

最新更新