Команда seq выводит последовательность целых или действительных чисел, подходящую для передачи в другие программы.
Команда seq может пригодиться в различных других командах и циклах для генерации последовательности чисел.

Синтаксис

Общий синтаксис команды «seq»:

# seq [options] specification

Примеры

1. Чтобы просто напечатать последовательность чисел, начиная с 1, используйте следующую команду:

# seq 4
1
2
3
4

По умолчанию команда seq начинает печатать последовательность чисел от 1, если не указано иное.

2. Вы также можете указать верхний и нижний пределы для последовательности чисел, сгенерированных командой «seq»:

# seq 6 9
6
7
8
9
3. Если нам нужно сгенерировать некоторую другую арифметическую прогрессию, мы можем использовать команду seq, синтаксис которой показан здесь:
# seq [start] [incr] [stop]
Эта команда сгенерирует числа start, start + incr, start + incr + incr… вплоть до остановки. Давайте разберемся с этим на примере:
# seq 1 3 10
1
4
7
10
Здесь мы начинаем с 1 и увеличиваем его на 3 каждый раз, пока не получим значение, меньшее или равное 10.
Значения для start, incr и stop могут быть положительными или отрицательными целыми числами или десятичными числами с плавающей запятой.
# seq 10 -2 4
10
8
6
4

Форматирование вывода команды «seq»

Вы можете отформатировать вывод команды seq, используя различные аргументы команды.

1. Как вы заметили во всех приведенных выше командах, вывод всегда представляет собой последовательность чисел, разделенных новой строкой.

На самом деле, вы можете изменить его так, как вы захотите.

Используйте опцию «-s» команды seq, как показано ниже:

# seq -s "|" 5
1|2|3|4|5
2. Вы также можете отформатировать вывод, используя опцию «-f».
Он использует формат стиля printf для вывода каждого числа.
Вы можете использовать символы покрытия, такие как E, e, f, G, g и % с «-f», как показано ниже.
По умолчанию %g.
# seq -f '##%g##' 1 5
##1##
##2##
##3##
##4##
##5##
# seq -f %f 1 5
1.000000
2.000000
3.000000
4.000000
5.000000
3. Вы также можете выровнять ширину всех чисел, добавив нули по мере необходимости.
Эта опция не действует с опцией -f.
# seq -w 1 10
01
02
03
04
05
06
07
08
09
10

Использование seq в циклах Bash

Мы также можем использовать seq с циклом for, используя подстановку команд, как показано здесь:

$ for i in $(seq 1 0.5 4)
do
echo "The number is $i"
done
Вывод:
The number is 1
The number is 1.5
The number is 2
The number is 2.5
The number is 3
The number is 3.5
The number is 4
Поделитесь статьей:

2 thoughts on “🐧 Примеры команд seq на Linux

Добавить комментарий