Многократное расширение скобки в URL-адресе wget - PullRequest
0 голосов
/ 24 апреля 2018

В настоящее время я пытаюсь очистить изображения веб-сайта с помощью небольшого скрипта, который я сделал:

for url in $my_url/{1..100}'.png' 
do
    wget "$url" || break
done

Быстро, что иногда изображения называются 1.png или 01.png или 001.png

Поэтому я хотел бы попробовать загрузить изображения с каждым именем, чтобы не пропустить ни одного изображения.

Что-то вроде:

for url in $my_url/{1..100}{01..100}{001..100}'.png' 

Спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 24 апреля 2018

Вам необходимо продублировать их:

for url in "$my_url"/{1..100}.png "$my_url"/{01..100}.png "$my_url"/{001..100}.png

или, используя массив, улучшает читаемость

urls=( 
    "$my_url"/{1..100}.png 
    "$my_url"/{01..100}.png 
    "$my_url"/{001..100}.png
)
for url in "${urls[@]}"; do ...
0 голосов
/ 24 апреля 2018

Вы можете вкладывать расширения скобки:

url="http://example.com/"
printf '%s\n' "$url"{{0..9},{00..99},{000..100}}.png
0 голосов
/ 24 апреля 2018

Попробуйте обернуть все в цикл for, который создает несколько форматов заполнения нулями:

for format in %01g %02g %03g
  do for num in $(seq -f $format 1 100)
    do wget ${my_url}/${num}.png || break  
  done  
done

Вы также можете использовать printf, но потребуется использовать другой синтаксис, как показано здесь .

...