1

我有一个要求,我正在运行一个 for 循环 1440 次,我想取出奇数,填充数组中的前六个输入,在命令中使用它们,然后用下一个重新刷新数组6 个值。

例如。

for (( i=1;i<1441;i++))
do

 a=`expr $i % 2` 
 if [[ $a -ne 0 ]]
 then
 array[a]=((val1  val2 val3 val4 val5 val6))
 echo "The set 1 contains num1 num3 num5 num7 num9 num11"
done >> This should flush the values again with next set  till 1440.

这可以做到吗。还是这个逻辑无效?

4

1 回答 1

0

这是一个将维持长度为 6 的队列的循环:

last6=(0 1 3 5 7 9)        # a 6-element array

# loop over odd numbers
for ((i=11; i<=1440; i+=2)); do 
    last6=("${last6[@]:1:5}" $i)  # discard the first element and add a new elem
    echo "${last6[*]}"
done
1 3 5 7 9 11
3 5 7 9 11 13
5 7 9 11 13 15
7 9 11 13 15 17
...
1425 1427 1429 1431 1433 1435
1427 1429 1431 1433 1435 1437
1429 1431 1433 1435 1437 1439
于 2013-10-01T12:53:18.973 回答