comanda tr în Unix/Linux cu exemple

The tr comanda este un utilitar de linie de comandă UNIX pentru traducerea sau ștergerea caracterelor. Acceptă o serie de transformări, inclusiv majuscule în minuscule, strângerea caracterelor care se repetă, ștergerea anumitor caractere și găsirea și înlocuirea de bază. Poate fi folosit cu conducte UNIX pentru a suporta traduceri mai complexe. tr înseamnă traducere.

Sintaxa:

 $ tr [OPTION] SET1 [SET2] 

Opțiuni -c : completează setul de caractere din șir, adică operațiunile se aplică caracterelor care nu se află în setul dat -d : șterge caracterele din primul set din ieșire. -s : înlocuiește caracterele repetate listate în set1 cu o singură apariție -t : trunchiază set1.

Exemple de comenzi

1. Cum se transformă caracterele minuscule în majuscule. Pentru a converti caracterele din litere mici în majuscule, puteți fie să specificați o serie de caractere, fie să utilizați clasele de caractere predefinite.

 $ cat greekfile 

Ieșire:

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

Ieșire:

WELCOME TO GEEKSFORGEEKS 

sau

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

Ieșire:

WELCOME TO GEEKSFORGEEKS 

Ca alternativă, puteți furniza input pentru tr comandă folosind redirecționarea:

 tr [:lower:] [:upper:] 

Ieșire:

WELCOME TO GEEKSFORGEEKS 

2. Cum să traduceți caracterele cu spațiu alb în file. Următoarea comandă traduce toate caracterele cu spații albe în file

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

Ieșire:

Welcome To techcodeview.com 

În exemplul anterior, putem folosi și redirecționarea pentru a furniza intrări pentru tr . Deși de data aceasta vom folosi un șir aici pentru asta:

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

Ieșire:

Welcome To techcodeview.com 

3. Cum se traduce acolade în paranteză. De asemenea, puteți traduce din și către un fișier. În acest exemplu vom traduce acolade într-un fișier cu paranteze.

 $ cat greekfile 

Ieșire:

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

Ieșire:

(WELCOME TO) techcodeview.com 

Comanda de mai sus va citi fiecare caracter din geekfile.txt, va traduce dacă este o acoladă și va scrie rezultatul în newfile.txt.

4. Cum să stoarceți o secvență de caractere repetitive folosind opțiunea -s. Pentru a stoarce aparițiile repetitive ale caracterelor specificate într-un set, utilizați opțiunea -s. Aceasta elimină instanțele repetate ale caracterelor ultimului SET specificat. SAU putem spune că, puteți converti mai multe spații continue cu un singur spațiu

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

Ieșire:

Welcome To techcodeview.com 

Și din nou, îndepliniți aceeași sarcină, dar folosind un șir aici:

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

Ieșire:

Welcome To techcodeview.com 

5. Cum să ștergeți caracterele specificate folosind opțiunea -d. Pentru a șterge anumite caractere utilizați opțiunea -d. Această opțiune șterge caracterele din primul set specificat.

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

Ieșire:

elcome To techcodeview.com 

Sau, în mod echivalent, utilizați:

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

Ieșire:

elcome To techcodeview.com 

6. Pentru a elimina toate cifrele din șir, puteți utiliza

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

sau

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

Ieșire:

my ID is 

7. Cum să completezi seturile folosind opțiunea -c Puteți completa SET1 folosind opțiunea -c. De exemplu, pentru a elimina toate caracterele, cu excepția cifrelor, puteți utiliza următoarele.

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

sau

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

Ieșire:

73535