Pokud primárně pracujete na příkazovém řádku Linuxu, je úprava textu pravděpodobně jednou z nejčastějších úloh, se kterými se můžete setkat. Ať už jde o úpravy skriptů, souborů zdrojového kódu, konfiguračních souborů nebo běžných textových souborů, existuje několik editační nástroje, které vám pomohou ve vaší práci.
Jedním z takových nástrojů je colrm , kterou zde probereme pomocí několika snadno pochopitelných příkladů. Ale než s tím začneme, stojí za zmínku, že všechny příklady zde byly testovány na počítači Ubuntu 18.04 LTS.
Příkaz Linux colrm
Příkaz colrm v Linuxu umožňuje odstranit vybrané sloupce ze souboru. Následuje jeho syntaxe:
colrm [start [stop]]
A zde je návod, jak manová stránka colrm popisuje, co nástroj dělá:
The colrm utility removes selected columns from the lines of a file. A
column is defined as a single character in a line. Input is read from
the standard input. Output is written to the standard output.
If only the start column is specified, columns numbered less than the
start column will be written. If both start and stop columns are speci?
fied, columns numbered less than the start column or greater than the
stop column will be written. Column numbering starts with one, not zero.
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 příkaz colrm funguje.
O1. Jak používat příkaz colrm?
Jak již bylo zmíněno, příkaz colrm umožňuje odstranit sloupce. Stačí tedy zadat číselnou hodnotu a sloupec odpovídající této hodnotě, stejně jako všechny následující sloupce, budou ve výstupu osamocené.
Zde je například textový soubor 'file1.txt', který obsahuje následující text:
abcdefgh
Pro colrm každá abeceda představuje sloupec. Předpokládejme tedy, že požadavkem je odstranit sloupec 6 a všechny následující sloupce, pak to lze provést pomocí:
colrm 6 < file1.txt
Následuje výstup, který výše uvedený příkaz vytvoří:
Můžete tedy vidět, že sloupce 6, ,7 a 8 byly osy.
Q2. Jak odstranit pouze jeden sloupec?
V takovém případě musíte zadat sloupce zahájení i zastavení. Předpokládejme, že požadavkem je odstranit pouze sloupec číslo 6, pak k tomu musíte provést příkaz colrm následujícím způsobem:
colrm 6 6 < file1.txt
Zde je výstup, který tento příkaz vytvořil v mém systému:
Můžete tedy vidět, že byl smazán pouze 6. sloupec. Netřeba dodávat, že tímto způsobem můžete odstranit řadu sloupců. Například:
colrm 2 6
Tento příkaz odstraní sloupce v rozsahu od 2 do 6. Stojí za to mít na paměti, že číslování sloupců začíná od 1, nikoli od nuly.
Manuálová stránka nástroje to vysvětluje docela jasně. Zde je příslušný úryvek:
Také mějte na paměti, že colrm vrátí 0 při úspěchu a>0, pokud dojde k chybě.
To je velmi snadné. Nemusíte dělat nic navíc – stačí zadat číslo sloupce (nebo rozsah) na vstupu.
Zde je příklad: Příkaz tedy čeká, až zadáte vstup za běhu, a poté, co stisknete klávesu enter, vytvoří výstup.
Jak budete pravděpodobně souhlasit, příkaz colrm je užitečný malý nástroj, pokud jde o odstraňování sloupců z textového souboru. Zde, v tomto tutoriálu, jsme probrali téměř všechny jeho funkce. Jakmile si je procvičíte, můžete se o příkazu dozvědět více na jeho manuálové stránce.
Q3. Jak colrm zpracovává zpětné mezery a karty?
Tab characters increment the column count to the next multiple of eight.
Backspace characters decrement the column count by one.Q4. Jak docílit toho, aby colrm akceptoval vstup ze stdin?
Závěr