tr kommando i Unix/Linux med eksempler

Det tr kommando er et UNIX-kommandolinjeværktøj til at oversætte eller slette tegn. Det understøtter en række transformationer, herunder store bogstaver til små bogstaver, klemning af gentagne tegn, sletning af specifikke tegn og grundlæggende find og erstat. Det kan bruges med UNIX-rør til at understøtte mere kompleks oversættelse. tr står for translate.

Syntaks:

 $ tr [OPTION] SET1 [SET2] 

Muligheder -c : komplementerer sættet af tegn i streng, dvs. operationer gælder for tegn, der ikke er i det givne sæt -d : slet tegn i det første sæt fra outputtet. -s : erstatter gentagne tegn opført i sæt1 med enkelt forekomst -t : afkorter sæt1.

Eksempel på kommandoer

1. Sådan konverteres små bogstaver til store bogstaver. For at konvertere tegn fra små bogstaver til store bogstaver kan du enten angive en række tegn eller bruge de foruddefinerede tegnklasser.

 $ cat greekfile 

Produktion:

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

Produktion:

WELCOME TO GEEKSFORGEEKS 

eller

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

Produktion:

WELCOME TO GEEKSFORGEEKS 

Alternativt kan du give input til tr kommando ved hjælp af omdirigering:

 tr [:lower:] [:upper:] 

Produktion:

WELCOME TO GEEKSFORGEEKS 

2. Hvordan man oversætter mellemrumstegn til faner. Den følgende kommando oversætter alle mellemrumstegnene til tabulatorer

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

Produktion:

Welcome To techcodeview.com 

I det foregående eksempel kan vi også bruge omdirigering til at give input til tr . Selvom vi denne gang vil bruge en her-streng til det:

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

Produktion:

Welcome To techcodeview.com 

3. Hvordan man oversætter bøjler til parentes. Du kan også oversætte fra og til en fil. I dette eksempel vil vi oversætte klammeparenteser i en fil med parentes.

 $ cat greekfile 

Produktion:

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

Produktion:

(WELCOME TO) techcodeview.com 

Ovenstående kommando vil læse hvert tegn fra geekfile.txt, oversætte, hvis det er en klammeparentes, og skrive output til newfile.txt.

4. Hvordan man klemmer en sekvens af gentagne tegn ved hjælp af -s option. For at presse gentagne forekomster af tegn, der er angivet i et sæt, skal du bruge -s-indstillingen. Dette fjerner gentagne forekomster af tegn fra det sidst specificerede SET. ELLER vi kan sige, at du kan konvertere flere sammenhængende rum med et enkelt mellemrum

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

Produktion:

Welcome To techcodeview.com 

Og igen, udfør den samme opgave, men brug en streng her:

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

Produktion:

Welcome To techcodeview.com 

5. Sådan sletter du angivne tegn ved hjælp af -d mulighed. For at slette specifikke tegn skal du bruge -d muligheden. Denne indstilling sletter tegn i det første angivne sæt.

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

Produktion:

elcome To techcodeview.com 

Eller tilsvarende brug:

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

Produktion:

elcome To techcodeview.com 

6. For at fjerne alle cifrene fra strengen kan du bruge

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

eller

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

Produktion:

my ID is 

7. Hvordan man supplerer sættene ved hjælp af -c option Du kan supplere SET1 ved at bruge -c mulighed. For at fjerne alle tegn undtagen cifre kan du f.eks. bruge følgende.

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

eller

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

Produktion:

73535