2016-04-26 3 views
1

Мне нужно сгенерировать диапазон чисел с фиксированным интервалом. Мне нужно отобразить их точно так, как показано ниже.Создание диапазона чисел с использованием сценария оболочки

Начиная с 1 и заканчиваются на 200, интервал составляет 50.

Два числа в каждой строке, пробел между числами, расположены таким образом, ...

1 50 
51 100 
101 150 
151 200 

ответ

4

с использованием Баш:

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