Při práci na příkazovém řádku v Linuxu může nastat situace, kdy je potřeba nahradit tabulátory v souboru mezerami. Úloha není obtížná, pokud je soubor malý, ale co když je soubor, se kterým máte co do činění, velký, nebo hůř, existují stovky souborů, ve kterých musíte provést tuto změnu?
Nebojte se, existuje nástroj příkazového řádku, který je speciálně vytvořen pro tuto práci. Dotyčný nástroj je rozšířit a v tomto tutoriálu probereme základy expandování pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za to sdílet, že všechny zde uvedené příkazy a pokyny byly testovány na Ubuntu 16.04LTS.
Linux rozbalit příkaz
Rozbalit Jak již bylo zmíněno, příkaz vám umožní převést tabulátory na mezery. Následuje syntaxe příkazu:
expand [OPTION]... [FILE]...
Zde je návod, jak jej definuje manuálová stránka nástroje:
Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -,
read standard input.
Následující příklady ve stylu otázek a odpovědí by vám měly poskytnout lepší představu o tom, jak se rozšiřovat příkaz funguje.
Q1. Jak převést tabulátory na mezery pomocí rozbalit příkaz?
Základní použití rozbalit je velmi jednoduché:předejte nástroji jako argument název souboru (který obsahuje tabulátory).
Například:
expand file1
A je to. Nástroj vytvoří na výstupu obsah souboru, přičemž jedinou změnou jsou mezery místo tabulátorů. Všimněte si, že v případě, že chcete provést takovou změnu ve více souborech, stačí zadat všechny názvy souborů do vstupu a tabulátory budou převedeny na mezery ve všech souborech najednou.
Výstup můžete samozřejmě snadno přenést do jiného souboru pomocí operátoru přesměrování.
expand file1>file2
Q2. Jak se limit rozšíří dopad pouze na počáteční karty?
Někdy můžete chtít převést pouze tabulátory, které předcházejí řádkům, a ponechat tak, jak jsou ty, které se objevují za prázdnými místy. Rozbalit příkaz vám to také umožňuje, akorát budete muset použít -i možnost příkazového řádku.
expand -i file1
3. Jak vyladit počet mezer, na které se karty převedou?
Ve výchozím nastavení rozbalit převede tabulátory na odpovídající počet mezer. Pokud však chcete, můžete počet mezer upravit pomocí -t možnost příkazového řádku. Tato možnost vyžaduje zadání nového počtu mezer.
Například v našem případě se tabulátory ve výchozím nastavení převedou na 4 mezery. Abychom tedy zmenšili tyto mezery na 1, použili jsme následující příkaz:
expand -t1 file1
Upozorňujeme, že když tomuto nástroji není předán žádný soubor jako vstup nebo zadáte pomlčku „-“ jako název souboru, vstupní obsah se načte ze standardního vstupu (STDIN).
Závěr
rozšířit command nabízí omezenou sadu funkcí, ale vzhledem k tomu, že je nástroj vytvořen pro velmi specifický účel, možnosti, které poskytuje, jsou více než dostatečné. Procvičte si, co jste si přečetli, a měli byste být schopni nástroj ihned používat. Zájemci mohou získat přístup k manuálové stránce příkazu zde.