seq - не просто печатник чисел, а универсальный строитель для скриптов, тестов и небольших утилит. Ниже - сжатый набор самых полезных приёмов, изложенный простым, "человеческим" языком.
seq 5 → 1 2 3 4 5seq 3 7 → 3 4 5 6 7seq 1 2 10 → 1 3 5 7 9 (нечётные)seq 10 -1 1 → 10 9 ... 1seq 0.5 0.3 2.0 → 0.5 0.8 1.1 1.4 1.7 2.0
seq -s ", " 1 5 → 1, 2, 3, 4, 5
seq -f "%02g" 1 10 → 01 02 ... 10seq -w 1 100 → 001 002 ... 100seq -f "text_%02g.txt" 1 5 | xargs touch
Получаем text_01.txt ... text_05.txt, удобно для сортировки.
for i in $(seq 1 5); do
echo "Тестовый файл №$i" > test_$i.txt
done
seq 10 | xargs -I{} curl -s http://example.com > /dev/null
Или в цикле: for i in $(seq 1 5); do echo "Hello"; done
start=$(date +%s)
for i in $(seq 0 9); do
date -d "@$((start + i*60))" +"%Y-%m-%d %H:%M:%S"
done
Выдаёт 10 минутных меток без ожидания.
for p in $(seq 8000 8010); do
nc -z -w1 localhost $p && echo "Port $p open"
done
seq легко комбинируется с xargs, awk, bc и другими утилитами, превращая простые задачи в однострочные решения. Это небольшая, но мощная "швейцарская ножовка" для любого пользователя терминала.
Добавить комментарий