tr ukaz v Unix/Linux s primeri

The tr ukaz je pripomoček ukazne vrstice UNIX za prevajanje ali brisanje znakov. Podpira vrsto transformacij, vključno z velikimi črkami v male črke, stiskanjem ponavljajočih se znakov, brisanjem določenih znakov ter osnovnim iskanjem in zamenjavo. Uporablja se lahko s cevmi UNIX za podporo bolj zapletenega prevajanja. tr pomeni prevesti.

Sintaksa:

 $ tr [OPTION] SET1 [SET2] 

Opcije -c : dopolnjuje niz znakov v nizu, tj. operacije veljajo za znake, ki niso v danem nizu -d : iz izhoda izbrišejo znake v prvem nizu. -s : zamenja ponovljene znake, navedene v nizu1, z enim pojavitvijo -t : skrajša niz1.

Vzorčni ukazi

1. Kako pretvoriti male črke v velike. Če želite pretvoriti znake iz malih v velike črke, lahko določite obseg znakov ali uporabite vnaprej določene razrede znakov.

 $ cat greekfile 

Izhod:

WELCOME TO techcodeview.com 
 $ cat greekfile | tr [a-z] [A-Z] 

Izhod:

WELCOME TO GEEKSFORGEEKS 

oz

 $ cat greekfile | tr [:lower:] [:upper:] 

Izhod:

WELCOME TO GEEKSFORGEEKS 

Druga možnost je, da podate vnos za tr ukaz z uporabo preusmeritve:

 tr [:lower:] [:upper:] 

Izhod:

WELCOME TO GEEKSFORGEEKS 

2. Kako prevesti presledke v tabulatorje. Naslednji ukaz prevede vse presledke v tabulatorje

 $ echo 'Welcome To techcodeview.com' | tr [:space:] '	' 

Izhod:

Welcome To techcodeview.com 

V prejšnjem primeru lahko uporabimo tudi preusmeritev, da zagotovimo vnos za tr . Čeprav bomo tokrat za to uporabili niz tukaj:

 tr [:space:] '	'  < < < 'Welcome To techcodeview.com' 

Izhod:

Welcome To techcodeview.com 

3. Kako prevesti oklepaje v oklepaj. Prav tako lahko prevajate iz in v datoteko. V tem primeru bomo prevedli oklepaje v datoteko z oklepaji.

 $ cat greekfile 

Izhod:

{WELCOME TO} techcodeview.com 
 $ tr '{}' '()' newfile.txt 

Izhod:

(WELCOME TO) techcodeview.com 

Zgornji ukaz bo prebral vsak znak iz geekfile.txt, prevedel, če je oklepaj, in zapisal izhod v newfile.txt.

4. Kako stisniti zaporedje ponavljajočih se znakov z uporabo možnosti -s. Če želite stisniti ponavljajoče se pojavitve znakov, navedenih v nizu, uporabite možnost -s. To odstrani ponavljajoče se primerke znakov zadnjega podanega SET-a. ALI lahko rečemo, da lahko pretvorite več neprekinjenih presledkov z enim presledkom

 $ echo 'Welcome To techcodeview.com' | tr -s ' ' 

Izhod:

Welcome To techcodeview.com 

In spet izpolnite isto nalogo, vendar tukaj uporabite niz:

 tr -s ' '  < < < 'Welcome To techcodeview.com' 

Izhod:

Welcome To techcodeview.com 

5. Kako izbrisati določene znake z uporabo možnosti -d. Če želite izbrisati določene znake, uporabite možnost -d. Ta možnost izbriše znake v prvem podanem nizu.

 $ echo 'Welcome To techcodeview.com' | tr -d W 

Izhod:

elcome To techcodeview.com 

Ali enakovredno uporabite:

 tr -d W  < < < 'Welcome to techcodeview.com' 

Izhod:

elcome To techcodeview.com 

6. Če želite odstraniti vse števke iz niza, lahko uporabite

 $ echo 'my ID is 73535' | tr -d [:digit:] 

oz

 $ tr -d [:digit:]  < < < 'my ID is 73535' 

Izhod:

my ID is 

7. Kako dopolniti nabore z možnostjo -c SET1 lahko dopolnite z možnostjo -c. Če želite na primer odstraniti vse znake razen števk, lahko uporabite naslednje.

 $ echo 'my ID is 73535' | tr -cd [:digit:] 

oz

 $ tr -cd [:digit:]  < < < 'my ID is 73535' 

Izhod:

73535