seq (Unix)

unixový příkaz pro vygenerování posloupnosti čísel

seq je příkaz používaný v příkazové řádce operačních systémů z rodiny Unix-like k vytvoření posloupnosti čísel. Je součástí balíčku GNU Core Utilities.

seq
VývojářUlrich Drepper
První vydání1994
Operační systémUnix, Unix-like
Vyvíjeno vC
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

Použití

editovat

Syntaxe příkazu je:

$ seq [VOLBY] DOLNI_MEZ KROK HORNI_MEZ

Je-li uživatelem specifikováno pouze jediný číselný argument, je vygenerována posloupnost v rozsahu od 1 do specifikovaného argumentu (horní meze) s krokem 1[1]:

$ seq 10
1
2
3
4
5
6
7
8
9
10

Jsou-li specifikována dva číselné argumenty, je vytvořena posloupnost, která začíná a zahrnuje první argument (dolní mez), a končí a zahrnuje druhý argument (horní mez)[1]:

$ seq 3 10
3
4
5
6
7
8
9
10

Je-li specifikován i třetí argument, je vrácena sekvence zahrnující i krok (v matematice známo jako diference):

$ seq 0 10 100
0
10
20
30
40
50
60
70
80
90
100

Specifikací -s (či ekvivalentně pomocí --separator) volby lze změnit rozdělovací symbol mezi jednotlivými členy posloupnosti[1]:

$ seq -s " > " 10 -1 1
10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2 > 1

Specifikací volby -f (--format) je možné měnit přesnost desetinných čísel[1]:

$ seq -f %.2f -s " " 1 0.333 3
1,00 1,33 1,67 2,00 2,33 2,66 3,00

Výstup tohoto příkazu mimo jiné ukazuje, že je nutné být obezřetný při změně přesnosti, seq nemusí vždy správně zaokrouhlit desetinná čísla (porovnej 1,67 a 2,66). Příkaz také bere v potaz konfiguraci jazyka (locales), proto jsou zde desetinné oddělovače v podobě čárek, ne teček, jak je zvykem v anglofonních zemích.

Volba -w (ve své delší formě --equal-width) přidává nuly k začátkům jednotlivých členů posloupnosti tak, aby všechny měly stejnou délku[1]:

$ seq -w 1 10
00
01
02
03
04
05
06
07
08
09
10

Reference

editovat
  1. a b c d e https://man7.org/linux/man-pages/index.html [online]. [cit. 2024-5-27]. Dostupné online. (anglicky)