seq | |
---|---|
Тип | команда |
Разработчик | AT&T Bell Laboratories |
Операционные системы | Unix, Unix-like, Plan 9 |
Первый выпуск | февраль 1985 |
Аппаратная платформа | Кроссплатформенная |
Лицензия | coreutils: GPLv3+ |
seq — утилита, используемая в unix-системах для генерации последовательности.
Впервые появилась в Research Unix версии 8 в 1985 году и не была адаптирована другими вариантами Unix (такими как коммерческие Unix или BSD). Позднее была перенесена в Plan 9 и оттуда была скопирована в некоторые BSD-системы, в том числе во FreeBSD. Другая версия утилиты была написана в 1994 году Ульрихом Дреппером для проекта GNU, и стала основной в дистрибутивах Linux как часть GNU Coreutils. Команда доступна в виде отдельного пакета для Microsoft Windows как часть коллекции UnxUtils.
В самом простом варианте использования — seq N — выводит на печать все целые числа от 1 до N в последовательности; эта возможность часто применялась в ранних версиях Bash для циклов, когда команда for
могла перебирать только списки:
# Удалить file1..file17:
for n in `seq 17`
do
rm "file$n"
done
Дополнительные возможности утилиты — указание начального значения, инкремента (в том числе числа с плавающей запятой), форматирования вывода. Опции в GNU seq отличаются от использованных в первом варианте утилиты, в частности, изменено название и значение опции формата (с -p на -f) и добавлена опция для управления разделителем между числами (-s, по умолчанию — новая строка).
Стала использоваться реже с распространением таких альтернатив, как expr, и с появлением в командных интерпретаторах числового перебора в циклах.
seq(1)
— страница справки man по пользовательским командам GNU/Linux (англ.)seq(1)
— страница справки man по пользовательским командам Plan 9 (англ.)