Как сделать так, чтобы части URL увеличивались одновременно в cURL? - PullRequest
3 голосов
/ 15 февраля 2012

Я использую 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. 

1 Ответ

5 голосов
/ 15 февраля 2012

Я думаю, вы, возможно, захотите использовать цикл 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...