我有一个要求,在我运行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.
可以这样做。或者这个逻辑是无效的吗?
答案 0 :(得分: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