comanda tr a Unix/Linux amb exemples

El tr L'ordre és una utilitat de línia d'ordres UNIX per traduir o suprimir caràcters. Admet una sèrie de transformacions que inclouen majúscules a minúscules, comprimir caràcters que es repeteixen, suprimir caràcters específics i trobar i substituir bàsicament. Es pot utilitzar amb canalitzacions UNIX per suportar traduccions més complexes. tr significa traduir.

Sintaxi:

 $ tr [OPTION] SET1 [SET2] 

Opcions -c : complementa el conjunt de caràcters de la cadena, és a dir, les operacions s'apliquen a caràcters que no estan en el conjunt donat -d : elimina els caràcters del primer conjunt de la sortida. -s : substitueix els caràcters repetits llistats al conjunt1 amb una ocurrència única -t : trunca el conjunt1.

Exemples d'ordres

1. Com convertir caràcters minúscules en majúscules. Per convertir caràcters de minúscules a majúscules, podeu especificar un rang de caràcters o utilitzar les classes de caràcters predefinides.

 $ cat greekfile 

Sortida:

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

Sortida:

WELCOME TO GEEKSFORGEEKS 

o

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

Sortida:

WELCOME TO GEEKSFORGEEKS 

Alternativament, podeu proporcionar entrada per a tr comanda utilitzant la redirecció:

 tr [:lower:] [:upper:] 

Sortida:

WELCOME TO GEEKSFORGEEKS 

2. Com traduir caràcters d'espais en blanc a pestanyes. L'ordre següent tradueix tots els caràcters d'espai en blanc a pestanyes

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

Sortida:

Welcome To techcodeview.com 

A l'exemple anterior també podem utilitzar la redirecció per proporcionar entrada tr . Tot i que aquesta vegada farem servir una cadena aquí per a això:

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

Sortida:

Welcome To techcodeview.com 

3. Com traduir claus entre parèntesis. També podeu traduir des de i cap a un fitxer. En aquest exemple traduirem claus en un fitxer amb parèntesis.

 $ cat greekfile 

Sortida:

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

Sortida:

(WELCOME TO) techcodeview.com 

L'ordre anterior llegirà cada caràcter de geekfile.txt, traduirà si és una clau i escriurà la sortida a newfile.txt.

4. Com esprémer una seqüència de caràcters repetitius mitjançant l'opció -s. Per esprémer les ocurrències repetitives dels caràcters especificats en un conjunt, utilitzeu l'opció -s. Això elimina les instàncies repetides de caràcters de l'últim SET especificat. O podem dir que, podeu convertir diversos espais continus amb un sol espai

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

Sortida:

Welcome To techcodeview.com 

I de nou, feu la mateixa tasca però utilitzant una cadena aquí:

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

Sortida:

Welcome To techcodeview.com 

5. Com esborrar caràcters especificats mitjançant l'opció -d. Per eliminar caràcters específics, utilitzeu l'opció -d. Aquesta opció elimina els caràcters del primer conjunt especificat.

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

Sortida:

elcome To techcodeview.com 

O, de manera equivalent, utilitzeu:

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

Sortida:

elcome To techcodeview.com 

6. Per eliminar tots els dígits de la cadena, podeu utilitzar

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

o

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

Sortida:

my ID is 

7. Com complementar els conjunts utilitzant l'opció -c Podeu complementar el SET1 mitjançant l'opció -c. Per exemple, per eliminar tots els caràcters excepte els dígits, podeu utilitzar el següent.

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

o

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

Sortida:

73535