tr komanda Unix/Linux su pavyzdžiais

The tr komanda yra UNIX komandų eilutės įrankis, skirtas simboliams išversti arba ištrinti. Jis palaiko daugybę transformacijų, įskaitant didžiąsias raides į mažąsias, pasikartojančių simbolių suspaudimą, konkrečių simbolių ištrynimą ir pagrindinį radimą bei keitimą. Jis gali būti naudojamas su UNIX vamzdžiais, kad būtų palaikomas sudėtingesnis vertimas. tr reiškia išversti.

Sintaksė:

 $ tr [OPTION] SET1 [SET2] 

Galimybės -c : papildo eilutės simbolių rinkinį.t.y. operacijos taikomos simboliams, kurie nėra nurodytoje rinkinyje -d : iš išvesties ištrinkite pirmojo rinkinio simbolius. -s : pakeičia pasikartojančius simbolius, išvardytus rinkinyje1, vienu atveju -t: sutrumpina set1.

Komandų pavyzdžiai

1. Kaip konvertuoti mažąsias raides į didžiąsias. Norėdami konvertuoti simbolius iš mažųjų raidžių į didžiąsias, galite nurodyti simbolių diapazoną arba naudoti iš anksto nustatytas simbolių klases.

 $ cat greekfile 

Išvestis:

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

Išvestis:

WELCOME TO GEEKSFORGEEKS 

arba

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

Išvestis:

WELCOME TO GEEKSFORGEEKS 

Arba galite pateikti įvestį tr komanda naudojant peradresavimą:

 tr [:lower:] [:upper:] 

Išvestis:

WELCOME TO GEEKSFORGEEKS 

2. Kaip išversti tarpo simbolius į skirtukus. Ši komanda paverčia visus tarpo simbolius į skirtukus

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

Išvestis:

Welcome To techcodeview.com 

Ankstesniame pavyzdyje taip pat galime naudoti peradresavimą, kad pateiktume įvestį tr . Nors šį kartą tam naudosime eilutę čia:

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

Išvestis:

Welcome To techcodeview.com 

3. Kaip išversti breketus į skliaustus. Taip pat galite versti iš ir į failą. Šiame pavyzdyje mes išversime skliaustus faile su skliaustais.

 $ cat greekfile 

Išvestis:

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

Išvestis:

(WELCOME TO) techcodeview.com 

Aukščiau pateikta komanda nuskaitys kiekvieną simbolį iš geekfile.txt, išvers, jei tai yra skliaustas, ir įrašys išvestį į newfile.txt.

4. Kaip išspausti pasikartojančių simbolių seką naudojant -s parinktį. Norėdami išspausti pasikartojančius rinkinyje nurodytus simbolius, naudokite parinktį -s. Taip pašalinami pasikartojantys paskutinio nurodyto SET simbolių atvejai. ARBA galime pasakyti, kad galite konvertuoti kelias ištisines erdves viena erdve

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

Išvestis:

Welcome To techcodeview.com 

Ir vėl atlikite tą pačią užduotį, bet naudodami eilutę čia:

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

Išvestis:

Welcome To techcodeview.com 

5. Kaip ištrinti nurodytus simbolius naudojant -d parinktį. Norėdami ištrinti konkrečius simbolius, naudokite parinktį -d. Ši parinktis ištrina simbolius iš pirmojo nurodyto rinkinio.

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

Išvestis:

elcome To techcodeview.com 

Arba lygiaverčiai naudokite:

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

Išvestis:

elcome To techcodeview.com 

6. Norėdami pašalinti visus skaitmenis iš eilutės, galite naudoti

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

arba

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

Išvestis:

my ID is 

7. Kaip papildyti rinkinius naudojant -c parinktį Galite papildyti SET1 naudodami parinktį -c. Pavyzdžiui, norėdami pašalinti visus simbolius, išskyrus skaitmenis, galite naudoti šiuos veiksmus.

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

arba

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

Išvestis:

73535