Bash For循环跳过数字

时间:2017-08-20 12:42:27

标签: python bash

我想创建bash脚本。

在每个循环中跳过1000,直到2M,

我被困在这里:

for i in {1..2000000} ; do

done;

例如:

第一个循环:

offset=0

第二个循环:

offset=100

第3次循环

offset=2000

直到2M

我尝试了一些方法,但没有成功。

欢迎使用python

我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用while循环:

c

答案 1 :(得分:2)

你想要的是C风格的for循环:

for ((i=0; i <= 2000000; i+=1000)); do

bash确实支持大括号扩展运算符,它允许您生成步幅大于1的序列(支持似乎已在4.0中添加,尽管发行说明中没有提及):

for i in {0..200000..1000}

但是,C风格的循环更可取,因为它会懒惰地生成i的值,而不是在开始迭代之前在内存中创建整个序列。除非您生成绝对庞大的序列,否则这通常不会成为问题,但在生成序列时您可能会注意到短暂的延迟。