GNU/Linux >> Znalost Linux >  >> Linux

Příkaz pro Linux tr s příklady

Úvod

tr command je nástroj příkazového řádku systému Linux, který překládá nebo odstraňuje znaky ze standardního vstupu (stdin ) a zapíše výsledek na standardní výstup (stdout ). Použijte tr k provádění různých transformací textu, včetně převodu malých a velkých písmen, mačkání nebo mazání znaků a základního nahrazování textu.

Od tr nemůže číst soubor přímo a výstupem je standardní výstup, často se používá s rourami (| ) a přesměrování (>> ), abyste umožnili složitější zpracování obsahu souboru.

V tomto tutoriálu se naučíte používat Linux tr příkaz.

Předpoklady

  • Systém se systémem Linux.
  • Přístup k terminálu (Ctrl + Alt + T ).

Syntaxe příkazu Linux tr

Základní tr syntaxe příkazu je:

tr [options] SET1 [SET2]

Možnosti

Spuštěno tr bez jakýchkoli možností nahradí každý ze znaků uvedených v SET1 se znaky z SET2 které mají stejnou pozici.

Například:

Ve výše uvedeném příkladu je výstup příkazu echo přesměrován do tr příkaz, který nahradí každou instanci e s o .

SET

SET s jsou řetězce znaků. Příkaz přijímá následující interpretované sekvence pro shodu znaků:

Sekvence Výklad
\NNN Znaky s NNN osmičková hodnota (1 až 3 osmičkové číslice).
\\ Zpětné lomítko.
\a Znak slyšitelného zvonku.
\b Backspace.
\f Zdroj formuláře.
\n Znak nového řádku.
\r Vrátit znak.
\t Karta Horizontální
\v Svislá karta.
CHAR1-CHAR2 Všechny znaky z CHAR1 na CHAR2 ve vzestupném pořadí.
[CHAR*] Kopie CHAR* v SET2 až do délky SET1 .
[CHAR*REPEAT] Opakuje kopie CHAR . Opakuje osmičkové číslo, pokud začíná 0.
[:alnum:] Všechna písmena a číslice.
[:alpha:] Všechna písmena.
[:blank:] Vodorovné mezery.
[:cntrl:] Všechny řídicí znaky.
[:digit:] Všechny číslice.
[:graph:] Tisknutelné znaky, kromě mezery.
[:lower:] Všechna malá písmena.
[:print:] Tisknutelné znaky, včetně mezer.
[:punct:] Všechny interpunkční znaky.
[:space:] Vodorovné nebo svislé mezery.
[:upper:] Všechna velká písmena.
[:xdigit:] Šestnáctkové číslice.
[=CHAR=] Všechny znaky ekvivalentní CHAR .

Poznámka: Dalším skvělým unixovým textovým editorem je SED. Tento nástroj vám umožňuje vyhledávat, nahrazovat, přidávat a odstraňovat řádky v textovém souboru, aniž byste jej museli otevírat v textovém editoru.

Možnosti příkazu Linux tr

Možnosti poskytují další akce transformace postavy. Dostupné možnosti jsou:

Možnost Popis
-C Doplňuje znaky v SET1 , včetně všech znaků ve výstupu kromě těch, které jsou specifikovány.
-c Doplňuje hodnoty v SET1 . Operace se vztahují na znaky, které nejsou v dané sadě.
-d Odstraní znaky z SET1  vstup.
-s Zmáčkne opakované znaky zadané v posledním operandu (buď SET1 nebo SET2 ) a nahradí je jedním výskytem daného znaku.
-t Zkrátí SET1 na délku SET2 .
-u Zajišťuje, že jakýkoli výstup je bez vyrovnávací paměti.
--help Zobrazí soubor nápovědy se všemi dostupnými možnostmi.
--version Zobrazuje informace o verzi programu.

Příklady Linuxu

Níže jsou uvedeny příklady použití tr příkaz s různými možnostmi transformace vstupního textu.

Změnit velikost písmen

Existují tři způsoby, jak změnit velikost písmen pomocí tr :

1. Zadejte přesné znaky, které chcete převést

Určete, které znaky ze vstupu chcete převést. Tato možnost změní velikost písmen nebo celé znaky a nahradí znaky z SET1 s těmi z SET2 .

Například:

2. Zadejte rozsah znaků pro převod

Zadání rozsahu umožňuje tr chcete-li změnit velikost písmen libovolného znaku v daném rozsahu. Následující příklad ukazuje, jak převést velká písmena na malá:

Stiskněte CTRL+C pro ukončení vstupního režimu.

3. Určete interpretované sekvence

Porovnejte a převeďte znaky zadáním interpretovaných sekvencí. Například sekvence malých písmen je [:lower:] a sekvence velkých písmen je [:upper:] . Zadáním dvou sekvencí je pokyn tr pro shodu a převod velikosti písmen:

Výše uvedený příklad ukazuje, jak tr převede velká písmena na malá.

Odstranit opakované znaky

-s volba vmáčkne opakované znaky do jediné instance daného znaku. Tato možnost je užitečná zejména při převodu mezer na tabulátory nebo znaky nového řádku a vstupní text obsahuje několik souvislých mezer.

Například následující vstup obsahuje více prázdných znaků. Jejich převod na karty bez mačkání poskytuje následující výsledek:

Chcete-li se vyhnout více tabulátorům a mezerám ve výstupu, zadejte -s možnost:

Odstranit znaky

Odstraňte konkrétní znaky pomocí -d volba. V následujícím příkladu tr odstraní každou instanci e postava:

Volitelně zadejte skupinu znaků pomocí interpretovaných sekvencí. Odeberte například všechny číslice zadáním [:digit:] sekvence:

Doplňkové sady

Použijte -c možnost doplnit znaky v SET1 . V následujícím příkladu odstraníme všechny znaky kromě číslic:

Všechny znaky, které nejsou v zadané sadě (v tomto případě vše kromě číslic), jsou odstraněny.

Odebrat znaky nového řádku

Zmenšete prostor, který text zabírá, převedením znaků nového řádku na mezery. Obsah se poté zobrazí na jednom řádku.

V následujícím příkladu používáme příkaz cat k otevření textového souboru a přesměrování do tr pro odstranění znaků nového řádku:

Přesměrovat do tr

Alternativou k potrubí je použití přesměrování ke vkládání obsahu do tr . Kromě toho můžete použít přesměrování k uložení tr výstup do souboru.

Následující příklad ukazuje, jak odstranit všechny netisknutelné znaky ze souboru, jehož obsah je přesměrován na tr :

Zkrátit sadu

Ve výchozím nastavení, pokud SET1 je delší než SET2 , tr znovu použije poslední znak z SET2 při zpracování vstupu. Například:

Od SET1 je delší než SET2 , tr znovu použije poslední znak z SET2 , v tomto případě 2 .

Použijte -t možnost zkrátit SET1 na délku SET2 :

-t volba dává pokyn tr zkrátit SET1 na délku SET2 a nahradí pouze první dva znaky.

Odstranit diakritiku

Použijte [=CHAR=] sekvence, aby odpovídala všem znakům ekvivalentním zadanému znaku. Sekvence může například identifikovat a odstranit diakritiku ze znaků.

Vytisknout každé slovo samostatně

Vytiskněte obsah souboru řádek po řádku pomocí -c a nahraďte nealfanumerické znaky znakem nového řádku.

Poznámka: Pokud dáváte přednost používání Bash, podívejte se, jak číst soubor řádek po řádku.

Výstup se nyní zobrazuje po slovech.

Uložit výstup do souboru

Od tr nezmění přímo obsah souboru, ale také neuloží žádné provedené změny. Uložte výstup do souboru přesměrováním, jak je znázorněno v následujícím příkladu:

Otevření nového souboru s cat ukazuje, že změny byly uloženy.

Závěr

Tento tutoriál ukázal, jak používat tr příkaz a jeho dostupné možnosti pro různé transformace textu. Podívejte se na další linuxové textové nástroje v našich příručkách pro příkaz sort a less terminal pager, nebo se podívejte na nejlepší linuxové textové editory.


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Echo Command v Linuxu (s příklady)

  1. man Command v Linuxu s příklady

  2. Příkaz AWK v Linuxu s příklady

  3. Curl Command v Linuxu s příklady