【发布时间】:2019-04-25 15:05:36
【问题描述】:
当我在 linux 中运行以下命令时:
wget http://page.com/{0000..0100}.jpg
他尝试下载以下序列:
...
也就是说,它不会放置零。
【问题讨论】:
标签: bash
当我在 linux 中运行以下命令时:
wget http://page.com/{0000..0100}.jpg
他尝试下载以下序列:
...
也就是说,它不会放置零。
【问题讨论】:
标签: bash
bash 扩展不会填充数字以使用数学上无关紧要的零。您可以使用 seq 和 -w(宽度)选项来填充前导零。
for i in `seq -w 1 1000`
do
wget http://example.com/path/to/$i.jpg
done
【讨论】:
考虑升级 Bash。您的代码适用于 Bash4+:
$ echo $BASH_VERSION {001..003}
4.4.19(1)-release 001 002 003
但不适用于 Bash 3.x 等旧版本:
$ echo $BASH_VERSION {001..003}
3.2.57(1)-release 1 2 3
如果您无法升级,可以使用printf 作为解决方法:
wget $(printf "http://page.com/%04d.jpg\n" {1..100})
【讨论】: