2016-04-26 27 views
1

我需要生成具有固定間隔的數字範圍。我需要完全按照如下所示顯示它們。使用shell腳本生成一系列數字

從在200 1和端開始,間隔是在每行中50.

兩個數字,數字之間的空間中,設置這樣...

1 50 
51 100 
101 150 
151 200 

回答

4

使用bash:

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

$(())是用於算術擴展。

for ((; ;))是類似於C for語法的組合命令。

1

嘗試這種情況:

#!/bin/bash 

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

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

開始,結束和步驟值作爲positionnal參數傳遞。

0

可以生成括號擴展兩個序列,用換行替換空格,然後將結果粘貼到一起:

$ paste <(echo {1..151..50} | tr ' ' $'\n') <(echo {50..200..50} | tr ' ' $'\n') 
1 50 
51 100 
101 150 
151 200