使用shell脚本生成一系列数字

时间:2016-04-26 13:17:17

标签: linux bash shell

我需要以固定的间隔生成一系列数字。我需要完全按照下图所示显示它们。

从1开始到200结束,间隔为50.

每行两个数字,数字之间的空格,以这种方式排列......

1 50
51 100
101 150
151 200

4 个答案:

答案 0 :(得分:4)

使用bash:

for (( i = 1; i < 200; i += 50 )); do echo $i $(( $i+49 )); done

$(( ))用于算术扩展。

for (( ; ; ))是类似于C for语法的复合命令。

答案 1 :(得分:1)

试试这个:

#!/bin/bash

start=$1
end=$2
step=$3

while [ $start -le $end ]
do
  echo  $start $(( start + step-1 ))
  (( start+=step ))
done

开始,结束和步骤值作为位置参数传递。

答案 2 :(得分:0)

您可以使用大括号展开生成两个序列,用换行符替换空格,然后将结果粘贴在一起:

function Controller($scope, ObjectFilter) {
   //Private variable inside controller:
   var objects = [{id: 1}, {id: 2}, {id: 3}];
   var ids = [1, 3];

   //Define Viewscope:
   $scope.objects = ObjectFilter(objects, ids);
}

答案 3 :(得分:0)

适用于 sh

#!/bin/sh

step=0

for i in $(seq 4); do
    step=$(($step+50))
    echo $(($step-50+1)) $step
done