Příkaz cat pro Linux jsme již probrali v jednom z našich dřívějších výukových programů. Jak možná víte, příkaz cat se používá hlavně pro zobrazení obsahu souboru ve výstupu. Co však možná nevíte, je, že existuje příkaz, který dělá přesně opak toho, co dělá kočka.
Dotyčný nástroj je tac a v tomto tutoriálu probereme jeho základy pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 16.04 LTS.
Příkaz tac pro Linux
Tac je opakem cat v tom smyslu, že výstup, který produkuje, je prezentován tak, že nejprve je zobrazen poslední řádek, pak předposlední řádek atd. Následuje syntaxe nástroje:
tac [OPTION]... [FILE]...
A zde je to, co o tom říká manuálová stránka tac:
Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read
standard input.
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak nástroj funguje.
O1. Jak používat tac?
Jednoduché, stačí spustit příkaz 'tac' s názvem souboru jako vstupem.
tac [filename]
Například:
tac file2
Takže můžete vidět, že výstup produkovaný tac je přesně opačný než výstup produkovaný kočkou.
Q2. Jak přimět tac používat vlastní oddělovač (ne nový řádek)?
K tomu budete muset použít volbu -s. Například následující příkaz
echo "1,2" | tac
Vytvořil tento výstup:
1,2
Je to proto, že nový řádek je výchozím oddělovačem pro tac.
Nicméně příkaz níže:
echo "1,2" | tac -s ,
vytvoří následující výstup:
2
1,
To proto, že nyní byl oddělovač změněn.
Q3. Jak změnit pozici oddělovače?
Pokud chcete, aby tac připojil oddělovač před místo za, použijte volbu -b.
Například:
echo "1,2" | tac -b -s ,
vytvoří následující výstup:
,2
1
4. Jak zajistit, aby tac akceptoval vstup ze STDIN?
V případě, že chcete, aby příkaz tac akceptoval vstup ze standardního vstupu, prostě mu nepředávejte žádné jméno souboru.
tac
Jakmile příkaz spustíte výše uvedeným způsobem, bude čekat, až vložíte obsah. Jakmile s tím budete hotovi, stiskněte Ctrl+d pro znamení, že jste hotovi, a pak tac vytvoří svůj výstup na STDOUT.
Závěr
Jak vidíte, tac je snadno pochopitelný a snadno se s ním pracuje. Počet možností příkazového řádku, které nabízí, je omezený a většinu z nich jsme zde probrali. Více o příkazu se můžete dozvědět na jeho manuálové stránce.