Příkaz seq, zkratka pro sekvence, se používá pro tisk posloupnosti čísel. Čísla mohou být celá nebo reálná (s desetinnými tečkami).
Podívejme se na několik příkladů, jak můžete tento příkaz použít.
Použití příkazu seq
Seq bez voleb můžete použít pro vytváření posloupnosti čísel ve 3 různých formátech.
Tisk posloupnosti čísel do horního limitu
V nejjednodušší formě určíte horní limit pro seq a vytiskne sekvenci začínající od 1 do horního limitu.
seq n
Zde je příklad:
[email protected]:~$ seq 4
1
2
3
4
Tisk posloupnosti mezi dvěma čísly (dolní a horní limit)
Můžete zadat dvě čísla ve vzestupném pořadí a vytiskne sekvenci začínající od nižšího čísla po horní.
seq n1 n2
Podívejte se na tento příklad:
[email protected]:~$ seq 3 6
3
4
5
6
Tisk sekvence mezi limitem, ale s vlastním přírůstkem
Doposud byl přírůstek v sekvenci jedna. Můžete však také definovat vlastní přírůstek mezi dolní a horní hranicí.
seq n1 inc n2
Přírůstková hodnota může být celé číslo nebo desítková hodnota.
[email protected]:~$ seq 3 0.5 6
3.0
3.5
4.0
4.5
5.0
5.5
6.0
Vytisknout sekvenci pozpátku
Dalším trikem je tisk sekvence pozpátku. Chcete-li to provést, musíte zadat záporný přírůstek.
[email protected]:~$ seq 6 -1 4
6
5
4
Snímek obrazovky všech výše uvedených příkladů:
Co se stane, když dáte něco jako 0,7? V takovém případě nebude horní limit překročen.
[email protected]:~$ seq 3 0.7 6
3.0
3.7
4.4
5.1
5.8
Dosud jste nepoužili žádné možnosti s příkazem seq. Pojďme je také vidět a používat.
Tisk sekvence se stejnou šířkou
Možnost w
s příkazem seq se používá k zachování stejné šířky tištěných čísel.
[email protected]:~$ seq -w 9 11
09
10
11
Tisk sekvence ve specifickém formátu
Výstupní řádek můžete naformátovat ve specifikovaném formátu pomocí volby f
.
[email protected]:~$ seq -f '##%g##' 3 5
##3##
##4##
##5##
%g
se používá pro výchozí čísla. %e
pro zobrazení čísla v exponenciálním formátu a %f
ve formátu s plovoucí desetinnou čárkou.
Tisk sekvence s řetězcem jako oddělovačem
Doposud byly všechny sekvence vytištěny vertikálně. To proto, že ve výchozím nastavení je oddělovačem znak nového řádku. Můžete to změnit pomocí možnosti s
.
[email protected]:~$ seq -s ':' 4
1:2:3:4
' před oddělovačem není nutné, ale je dobré, abyste se vyhnuli nepříjemným překvapením.
Praktické použití příkazu seq
Možná vás napadne, jaké by mohlo být praktické použití tohoto příkazu seq. Může nastat řada situací, kdy byste jej mohli použít.
Jeden konkrétní příklad, který mě napadá, je použití smyčky for v bash. Místo ručního zadávání sekvence v podmínce smyčky můžete použít příkaz seq.
#!/bin/bash
for i in $(seq 4 2 18)
do
echo "Number $i"
done
Když spustíte výše uvedený bash skript, bude se opakovat v dané sekvenci a vytiskne hodnoty.
[email protected]:~$ bash seq.sh
Number 4
Number 6
Number 8
Number 10
Number 12
Number 14
Number 16
Number 18
To je v podstatě vše důležité, co potřebujete vědět o příkazu seq. Pokud chcete další podrobnosti, můžete vždy použít jeho manuálovou stránku.