如何在 cURL 中使 URL 的各个部分同时递增?

发布于 2025-01-06 02:06:43 字数 891 浏览 1 评论 0原文

我正在使用 cURL 将文件下载到本地文件夹。我使用的命令如下所示:

curl -O http://example.com/example/file[001-030]_file_[1-30]_eng.ext 

我希望数字同时递增(“file001_file_1_eng.ext”),以便它们匹配。相反,它像嵌套循环一样工作,并且该命令将一堆空文件与现有文件一起写入该文件夹。所以我得到:

file001_file_1_eng.ext
file001_file_2_eng.ext <--- file doesn't exist
file001_file_3_eng.ext <--- file doesn't exist

等等...

所以,我想知道如何让它们以正确的方式增加。

我希望得到这个输出:

example.com/example/file008_file_1_eng.text 
example.com/example/file009_file_2_eng.text
example.com/example/file010_file_3_eng.text 
example.com/example/file011_file_4_eng.text 
example.com/example/file012_file_5_eng.text 
example.com/example/file013_file_6_eng.text 
example.com/example/file014_file_7_eng.text 
example.com/example/file015_file_8_eng.text 
example.com/example/file016_file_9_eng.text ... and so on. 

I'm using cURL to download files to a local folder. The command I'm using looks like this:

curl -O http://example.com/example/file[001-030]_file_[1-30]_eng.ext 

I want the numbers to increment at the same time ("file001_file_1_eng.ext") so they match up. Instead this is working like a nested loop and the command is writing a bunch of empty files to the folder along with the existing files. So I get:

file001_file_1_eng.ext
file001_file_2_eng.ext <--- file doesn't exist
file001_file_3_eng.ext <--- file doesn't exist

etc...

So, I'm wondering how to get them to increment in the correct way.

I'm looking to get this output:

example.com/example/file008_file_1_eng.text 
example.com/example/file009_file_2_eng.text
example.com/example/file010_file_3_eng.text 
example.com/example/file011_file_4_eng.text 
example.com/example/file012_file_5_eng.text 
example.com/example/file013_file_6_eng.text 
example.com/example/file014_file_7_eng.text 
example.com/example/file015_file_8_eng.text 
example.com/example/file016_file_9_eng.text ... and so on. 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泪痕残 2025-01-13 02:06:43

我想你可能想使用 for 循环:

#!/bin/bash
for i in {0..30}; do
    printf -v url "http://example.com/example/file%03d_file_%d_eng.text" $i $i
    curl -O $url
done

通过这个循环,您应该得到的 url 如下:

http://example.com/example/file000_file_0_eng.text
http://example.com/example/file001_file_1_eng.text
http://example.com/example/file002_file_2_eng.text
http://example.com/example/file003_file_3_eng.text
http://example.com/example/file004_file_4_eng.text
http://example.com/example/file005_file_5_eng.text
http://example.com/example/file006_file_6_eng.text
http://example.com/example/file007_file_7_eng.text
http://example.com/example/file008_file_8_eng.text
http://example.com/example/file009_file_9_eng.text
http://example.com/example/file010_file_10_eng.text
http://example.com/example/file011_file_11_eng.text
http://example.com/example/file012_file_12_eng.text
http://example.com/example/file013_file_13_eng.text
http://example.com/example/file014_file_14_eng.text
http://example.com/example/file015_file_15_eng.text
http://example.com/example/file016_file_16_eng.text
http://example.com/example/file017_file_17_eng.text
http://example.com/example/file018_file_18_eng.text
http://example.com/example/file019_file_19_eng.text
http://example.com/example/file020_file_20_eng.text
http://example.com/example/file021_file_21_eng.text
http://example.com/example/file022_file_22_eng.text
http://example.com/example/file023_file_23_eng.text
http://example.com/example/file024_file_24_eng.text
http://example.com/example/file025_file_25_eng.text
http://example.com/example/file026_file_26_eng.text
http://example.com/example/file027_file_27_eng.text
http://example.com/example/file028_file_28_eng.text
http://example.com/example/file029_file_29_eng.text
http://example.com/example/file030_file_30_eng.text

I think you might want to use a for loop:

#!/bin/bash
for i in {0..30}; do
    printf -v url "http://example.com/example/file%03d_file_%d_eng.text" $i $i
    curl -O $url
done

With this loop, the url's the you should get are the following ones:

http://example.com/example/file000_file_0_eng.text
http://example.com/example/file001_file_1_eng.text
http://example.com/example/file002_file_2_eng.text
http://example.com/example/file003_file_3_eng.text
http://example.com/example/file004_file_4_eng.text
http://example.com/example/file005_file_5_eng.text
http://example.com/example/file006_file_6_eng.text
http://example.com/example/file007_file_7_eng.text
http://example.com/example/file008_file_8_eng.text
http://example.com/example/file009_file_9_eng.text
http://example.com/example/file010_file_10_eng.text
http://example.com/example/file011_file_11_eng.text
http://example.com/example/file012_file_12_eng.text
http://example.com/example/file013_file_13_eng.text
http://example.com/example/file014_file_14_eng.text
http://example.com/example/file015_file_15_eng.text
http://example.com/example/file016_file_16_eng.text
http://example.com/example/file017_file_17_eng.text
http://example.com/example/file018_file_18_eng.text
http://example.com/example/file019_file_19_eng.text
http://example.com/example/file020_file_20_eng.text
http://example.com/example/file021_file_21_eng.text
http://example.com/example/file022_file_22_eng.text
http://example.com/example/file023_file_23_eng.text
http://example.com/example/file024_file_24_eng.text
http://example.com/example/file025_file_25_eng.text
http://example.com/example/file026_file_26_eng.text
http://example.com/example/file027_file_27_eng.text
http://example.com/example/file028_file_28_eng.text
http://example.com/example/file029_file_29_eng.text
http://example.com/example/file030_file_30_eng.text
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文