Русская Википедия:Seq

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Lowercase Шаблон:Infobox software 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, и с появлением в командных интерпретаторах числового перебора в циклах.

Ссылки

Шаблон:GNU Coreutils