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