Найти в Дзене
Герман Геншин

Один seq — миллион задач: 9 взрывных трюков, про которые молчат все мануалы!

Seq — это куда больше, чем просто генератор чисел. Для меня эта команда незаменима: создаю тестовые файлы, кручу циклы, быстро сканирую порты и даже делаю расчёты прямо в консоли — всё автоматизируется за пару строк. Держите мои самые любимые фишки для seq из реальной жизни! Главная функция seq — печатает числа по порядку. Достаточно задать только последнее число, и команда выведет последовательность от 1 до указанного числа. Вот так это выглядит: Такой простой вызов даст числа от 1 до 5. Но этот инструмент раскрывается по-настоящему, когда ты указываешь старт, шаг, формат или отправляешь результат другим командам. Допустим, чтобы начать с другого числа, просто пиши его первым параметром, а конец — вторым. Теперь получаешь числа от 3 до 7 (3, 4, 5, 6, 7). А если нужны только нечётные или вообще свой шаг? Просто добавь нужный интервал между началом и концом. Например, чтобы вывести нечётные от 1 до 10, шаг ставим 2: В ответ — 1, 3, 5, 7, 9. Можно и в обратном порядке — для этого просто
Оглавление

Быстрая навигация

Seq — это куда больше, чем просто генератор чисел. Для меня эта команда незаменима: создаю тестовые файлы, кручу циклы, быстро сканирую порты и даже делаю расчёты прямо в консоли — всё автоматизируется за пару строк. Держите мои самые любимые фишки для seq из реальной жизни!

Генерация числовых последовательностей — проще не бывает

Главная функция seq — печатает числа по порядку. Достаточно задать только последнее число, и команда выведет последовательность от 1 до указанного числа. Вот так это выглядит:

-2

Такой простой вызов даст числа от 1 до 5. Но этот инструмент раскрывается по-настоящему, когда ты указываешь старт, шаг, формат или отправляешь результат другим командам.

Допустим, чтобы начать с другого числа, просто пиши его первым параметром, а конец — вторым.

Теперь получаешь числа от 3 до 7 (3, 4, 5, 6, 7).

А если нужны только нечётные или вообще свой шаг? Просто добавь нужный интервал между началом и концом. Например, чтобы вывести нечётные от 1 до 10, шаг ставим 2:

В ответ — 1, 3, 5, 7, 9.

Можно и в обратном порядке — для этого просто шаг делаем отрицательным:

В итоге получаешь последовательность от 10 до 1 с шагом -1.

Генерируем числа с плавающей точкой

Seq отлично умеет работать не только с целыми, но и с десятичными числами. Это иногда решает целую научную или инженерную задачу.

Например, прогнать значения от 0.5 до 2.0 с шагом 0.3 можно так:

-3

Таким образом получишь список с нужным шагом и точностью до десятых.

Свой разделитель между числами? Легко!

По умолчанию seq ставит числа каждое с новой строки. Но если добавить флаг -s (separator), можно выбрать любой разделитель! Допустим, выведем числа от 1 до 5 через запятую и пробел:

-4

Хочешь, чтобы между числами был пробел? Перекинь результат в xargs: всё будет в одну строчку, числа отделятся пробелами. xargs берёт числа из стандартного ввода и превращает в аргументы для другой команды — обычно этой командой становится echo.

Красиво форматируем числа

Допустим, нужны числа с ведущими нулями — от 01 до 10, например. На выручку приходит ключ -f с шаблоном для форматирования:

-5

Шаблон %g — это просто число, а 02 — значит два знака, ведущие нули добавляются сами.

Если время поджимает — врубаем флаг -w (width): все числа будут одинаковой длины и ровненько выровнены.

В итоге получится, например, 001, 002, ..., 099, 100 — все одной длины.

Это отличный способ сделать имена файлов с лидирующими нулями — чтобы они всегда правильно сортировались. В связке с touch и xargs можно сразу нагенерить кучу пустых файлов. Нужно, скажем, 5 файлов в стиле text_01.jpg, text_02.jpg и т. д.:

После выполнения получишь аккуратный список файлов с правильной сортировкой номеров. Можно даже делать файлы с датами в имени:

Такой цикл создаёт по файлу на каждый день марта 2025 года.

Молниеносное создание тестовых файлов с содержимым

Seq пригодится не только для номеров, но и для генерации текстовых файлов с тестовыми данными. Просто объединяй seq с циклами и перенаправлением вывода.

К примеру, если нужно быстро получить 5 файлов с уникальным содержимым — вот простое решение:

-6

Советую — seq -w 1 5 — для нумерации с нулями и красивой сортировки.

Нужен вариант посложнее? Нет ничего проще! Так можно делать 5 файлов, где каждый содержит по 100 уникальных строк:

Внешний цикл подбирает имена файлов, внутренний — наполняет их строками. Всё наглядно и управляется парой переменных!

Как быстро повторить команду нужное число раз

Иногда надо повторить команду много раз подряд, а сами числа не важны. Например, тестирую пинг или гоняю багрепорт — seq позволит избежать длинных for-циклов.

Например, стресс-тест сайта или любого сервиса делается секундами через seq и xargs:

В этом примере сайт будет опрошен 10 раз — удобно для проверки на выносливость.

Seq прекрасно работает с for-циклами. Чтобы пять раз напечатать «Hello, World!», используй такой код:

Терминал поприветствует мир пять раз подряд.

Метки времени и интервалы в одно движение

Это мой любимый трюк — быстро создавать временные метки через seq. Очень выручает при тестировании логов или генерации «искусственных» событий: это могут быть минуты, часы, дни...

Например, для отчёта понадобится список каждых 15 минут за час:

И получаем: 00, 15, 30, 45.

Можно выдавать и метки на ближайшие 10 минут вперёд:

Весь список появится одномоментно, задержек ждать не придётся. Для имитации «реального времени» — просто добавь sleep 60 внутри цикла.

Нужно получить формат ЧЧ:ММ для полного часа? Пожалуйста!

Результат: 14:00, 14:01, и так до 14:59 — супер для любой хронологии прямо с консоли.

Мгновенный скан портов — must-have для сисадмина и девелопера

Админ? Пишешь сервисы? Seq поможет моментально узнать, какие порты на машине свободны. Надо найти свободный порт для запуска — вот как это делается:

Seq генерирует список портов и через nc проверяет их доступность.

-7

Поясняю на пальцах: права и нужные утилиты — само собой. Все такие проверки — исключительно на своих серверах или с разрешения!

Если nc не установлена, пользуйся встроенным bash — и не понадобится ничего лишнего:

-8

Для серьёзного аудита есть nmap, но для быстрой разработки seq — просто находка!

Легко перебираем диапазоны в скриптах

Конечно, в Bash есть циклы, но с seq код получается чище и понятнее, особенно если диапазоны плавающие или нестандартные. Просто задаём START и END — и поехали:

Код становится супер-управляемым: поменял только переменные — работает для любых диапазонов.

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

Вот вариант: одной командой создать 31 архив с датой в имени (backup_2025-09-01.tar.gz и т.д.), и порядок файлов всегда будет правильным.

Режем огромные файлы на части просто и без боли

Нужно поделить большой файл на части? С помощью seq удобно рассчитать диапазоны строк. Да, есть split, но seq даёт больше контроля над именами файлов и размерами кусков.

Например, режем bigfile по 100 строк:

Сначала определяем общее количество строк, потом через seq получаем номера начала каждого фрагмента (1, 101, 201 и так далее). sed вырезает нужные блоки и складывает в отдельные файлы.

Мощная математика в командной строке — за секунды!

Seq отлично дружит с калькуляторами вроде bc и awk. Генерируем числа — и тут же считаем всё, что нужно.

Хочешь сложить числа от 1 до 100?

Числа идут через плюс, результат сразу летит в bc, который и делает все подсчёты.

Точно так же работает и через awk — подсчёт в одну команду:

-9

Я часто вот так на лету анализирую данные — сначала генерация, потом форматирование и сразу подсчёт. Seq — это не просто команда, а читерский арсенал для автоматизации любого рутины прямо в терминале!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: