Někdy narazíte na nástroj příkazového řádku, který sám o sobě nabízí omezené funkce, ale při použití s jinými nástroji si uvědomíte jeho skutečný potenciál. Jakmile je takový nástroj seq , který vytiskne posloupnost čísel. V tomto tutoriálu probereme základy tohoto nástroje příkazového řádku pomocí snadno srozumitelných příkladů.
Než se k tomu ale pustíme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 16.04.
Příkaz Linux seq
Jak již bylo zmíněno, příkaz seq vám umožňuje vytisknout posloupnost čísel. Následuje jeho syntaxe:
seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST
A zde je návod, jak to vysvětluje manuálová stránka nástroje:
Print numbers from FIRST to LAST, in steps of INCREMENT. If FIRST or
INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT
defaults to 1 even when LAST is smaller than FIRST.
The sequence of numbers ends when the sum of the current number and
INCREMENT would become greater than LAST. FIRST, INCREMENT, and LAST
are interpreted as floating point values. INCREMENT is usually positive if
FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST
is greater than LAST. FORMAT must be suitable for printing one argu?
ment of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and
LAST are all fixed point decimal numbers with maximum precision PREC,
and to %g otherwise.
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout lepší představu o tom, jak příkaz seq funguje.
Q1. Jak funguje příkaz seq?
Základní použití je velmi snadné. Jediné, co musíte udělat, je předat číslo seq a nástroj vytvoří výstupní čísla od 1 do vstupního čísla.
Například:
seq 8
Samozřejmě můžete také zadat číslo, od kterého chcete, aby výstup začínal.
Například:
seq 3 8
Pokračujte, můžete také nastavit přírůstkový rozdíl, který je ve výchozím nastavení 1. Pokud například chcete, aby seq tiskla od 1 do 9, ale s rozdílem 2, můžete to udělat následovně:
seq 1 2 9
Q2. Jak přidat oddělovač?
Pokud chcete, můžete mít také oddělovač, aby seq výstup vypadal lépe. Tato funkce je dostupná prostřednictvím -s možnost příkazového řádku.
Například následující příkaz zamýšlí jako oddělovač použít čárku (,):
seq -s, 1 9
Q3. Jak určit výstupní formát?
Příkaz seq vám umožňuje použít styl printf FORMAT s plovoucí desetinnou čárkou. Tato funkce je dostupná prostřednictvím -f možnost příkazového řádku. Manuálová stránka nástroje neobsahuje mnoho informací o tom, jak tuto možnost používat, ale informační stránka obsahuje požadované podrobnosti. Informační stránka říká:
`-f FORMAT'
`--format=FORMAT'
Print all numbers using FORMAT. FORMAT must contain exactly one
of the `printf'-style floating point conversion specifications
`%a', `%e', `%f', `%g', `%A', `%E', `%F', `%G'. The `%' may be
followed by zero or more flags taken from the set `-+#0 '', then
an optional width containing one or more digits, then an optional
precision consisting of a `.' followed by zero or more digits.
FORMAT may also contain any number of `%%' conversion
specifications. All conversion specifications have the same
meaning as with `printf'.
The default format is derived from FIRST, STEP, and LAST. If
these all use a fixed point decimal representation, the default
format is `%.Pf', where P is the minimum precision that can
represent the output numbers exactly. Otherwise, the default
format is `%g'.
Tuto možnost můžete použít například následujícím způsobem:
seq -f "%02g" 6
Q4. Jak používat seq s jinými příkazy? (Případ použití 1)
Předpokládejme, že chcete provést sčítání nějakých čísel, řekněme od 111 do 121. Zde je návod, jak to provést pomocí seq:
expr `seq -s " + " 111 121`
Zde je výše uvedený příkaz v akci:
O5. Jak používat seq s jinými příkazy? (Případ použití 2)
Předpokládejme, že chcete vytvořit spoustu nových souborů s názvy, kde se mění pouze celočíselná hodnota. Například soubor1, soubor2, soubor3 a tak dále. Zde je návod, jak to udělat pomocí seq.
klepněte na $(seq -f "soubor%g" 1 10)
Závěr
Nyní tedy budete souhlasit, jak užitečný je příkaz seq. Pokud mluvíte o možnostech příkazového řádku, které Seq nabízí, není zde mnoho učení, jen byste měli vědět, kdy a jak příkaz a jeho možnosti použít. Popsali jsme zde několik případů použití – mělo by to stačit, abyste mohli začít s nástrojem. Pro více informací o Seq přejděte na jeho manuálovou stránku.