wget 中的多括号扩展 URL
Multiple brace expansion in wget URL
我目前正在尝试使用我制作的一个小脚本来抓取网站的图像:
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'
感谢您的帮助!
尝试将所有内容包装在创建多个零填充格式的 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,但需要使用不同的语法,如图 here。
您需要复制它们:
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 ...
您可以嵌套大括号扩展:
url="http://example.com/"
printf '%s\n' "$url"{{0..9},{00..99},{000..100}}.png
我目前正在尝试使用我制作的一个小脚本来抓取网站的图像:
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'
感谢您的帮助!
尝试将所有内容包装在创建多个零填充格式的 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,但需要使用不同的语法,如图 here。
您需要复制它们:
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 ...
您可以嵌套大括号扩展:
url="http://example.com/"
printf '%s\n' "$url"{{0..9},{00..99},{000..100}}.png