如何在 MacOS 终端中使用大于 10 的基数指定范围

How to specify range using bases greater than 10 in MacOS Terminal

我正在使用

curl -0 https://cdn.(website).com/[range].(extension) -o "#1.(extension)"

下载文件名值范围内的文件。

如何指定高于 10 进制的范围(我的目标是使 36 进制包含 0-9,a-z)? 前任。 [000-zzz]

我不知道在 bash 中以非标准基数打印数字的简单方法,但您可以使用 bash 的大括号扩展以文本方式生成范围。您可以嵌套大括号扩展,因此 {{0..9},{a..z}} 将为您提供数字后跟小写字母。然后堆叠其中三个以获得所有 three-item 个序列。

请注意,这与 curl 的方括号和大括号扩展不同,因此您不能在输出文件名中使用它(示例中的 #1)。但是您可以创建一个 shell for 循环,并使用 shell 变量来创建输出文件名。像这样:

for itemnum in {{0..9},{a..z}}{{0..9},{a..z}}{{0..9},{a..z}}; do
    curl -0 https://cdn.(website).com/${itemnum}.(extension) -o "${itemnum}.(extension)"
done