Comenzi Linux

Comandă Linux tr

Comandă Linux tr
În Linux, „tr” este un instrument încorporat care poate „traduce, stoarce și / sau șterge caractere din intrarea standard, scriind în ieșirea standard” (din pagina de manual).

Din descrierea oficială, este ușor de înțeles valoarea acestui instrument. Linux vine cu o mare colecție de instrumente încorporate. Există unele speciale care sunt foarte utile pentru manipularea textului. Am acoperit deja câteva dintre acestea, cum ar fi Vim, Nano, awk, sed și alte instrumente.

Cei care lucrează cu texte în mod regulat, „tr” va fi cu siguranță foarte util. Acest articol va ilustra cea mai obișnuită utilizare a „tr” cu suficiente exemple.

Notă: Tutorialul va folosi o mulțime de fișiere fictive cu conținut aleatoriu. Toate șirurile aleatorii sunt generate de Aleatoriu.org.

Locație

care tr

Aceasta este calea completă a instrumentului de comandă „tr”.

Utilizare de bază

Pentru utilizarea instrumentului „tr”, trebuie să utilizați următoarea structură de comandă.

tr [SET1] [SET2]

Există diferite opțiuni și modalități de a manipula textele folosind „tr”. La început, să verificăm acest fișier demo.

demo pentru pisici.txt

Toate personajele sunt cu litere mici, corect? Să le transformăm în majuscule!

demo pentru pisici.txt | tr [: inferior:] [: superior:]

Aici, primul parametru al „tr” indică efectuarea unei traduceri pe toate caracterele minuscule ale intrării. A doua parte ne spune să le transformăm în majuscule la ieșire.

Acum, să facem opusul.

pisică demo1.txt

pisică demo1.txt | tr [: upper:] [: lower:]

Există, de asemenea, un alt mod de a efectua aceeași sarcină. Hai să verificăm.

demo pentru pisici.txt | tr [a-z] [A-Z]

Acum, în loc să spunem „tr” să traducă majuscule cu minuscule sau minuscule cu majuscule, am spus să identificăm intrările care corespund intervalului „a” la „z” și să le traducem în echivalentul lor din intervalul „A” la „Z”.

Această metodă similară poate fi utilizată și pentru a traduce majuscule în minuscule.

pisică demo1.txt | tr [A-Z] [a-z]

Joacă cu cifre

Am văzut cum să traducem majuscule cu minuscule, corect? Este timpul să vă jucați cu cifre.

Folosind următoarea comandă, putem traduce cu ușurință toate cifrele (0-9) în caractere echivalente!

cat demo_digit.txt

cat demo_digit.txt | tr [0-9] [a-z]

Minunat! Ce zici de cele majuscule?

cat demo_digit.txt | tr [0-9] [A-Z]

Simplu, dar interesant, corect? De asemenea, putem transforma caracterele în cifre, de asemenea!

pisică demo_lowercase.txt

pisică demo_lowercase.txt | tr [a-z] [0-9]

Oh, se pare că lucrurile s-au stricat, corect? Ei bine, putem folosi doar „de la” la „j” pentru a reprezenta cifre simple. Dacă există vreun personaj care se află în afara acestei limite, „tr” va înlocui caracterul cu ']'.

Ștergerea caracterelor

După cum sugerează descrierea oficială, „tr” poate face mai mult decât simpla traducere a personajelor. În exemplul următor, vom verifica cum să utilizați „tr” pentru a șterge anumite caractere.

pisică la întâmplare.txt

Acum, să ștergem toate numerele din conținut.

pisică la întâmplare.txt | tr -d [0-9]

Aici, semnalizatorul „-d” trebuie să spună „tr” de șters și [0-9] care indică cifre de șters.

Putem face asta și cu personajele. Următoarea comandă va păstra toate numerele, dar va elimina toate caracterele.

pisică la întâmplare.txt | tr -d [a-z]

Ce zici de eliminarea unui singur caracter specific din fișier?

pisică demo_lowercase.txt

pisică demo_lowercase.txt | tr -d 'y'

A șters toate intrările „y” din fișier.

Strângerea de caractere repetate

Există momente în care un personaj se repetă secvențial. Dacă aveți de-a face cu astfel de probleme enervante, lăsați doar „tr” să se ocupe de asta! Folosind următoarea comandă, puteți stoarce astfel de apariții. În esență, păstrează apariția inițială a personajului și șterge cele suplimentare.

În primul rând, este timpul să verificați cum arată fișierul demonstrativ.

duplicat de pisică.txt

Acum, treceți conținutul la „tr”.

duplicat de pisică.txt | tr -s [: cifre:]

Aici, parametrul „-s” este indicatorul pentru efectuarea acțiunii „squeeze”.

Fărâmițarea / îmbinarea propozițiilor

Să verificăm fișierul demonstrativ.

duplicat de liliac.txt

Conține o propoziție cu spații care împart cuvintele, corect? Să împărțim cuvintele în linii noi.

duplicat de pisică.txt | tr "" "\ n"

Această comandă a înlocuit toate caracterele spațiale cu caractere de linie nouă.

Să îmbinăm din nou propoziția ruptă într-o propoziție lungă.

duplicat de liliac.txt

duplicat de pisică.txt | tr "\ n" ""

Traducerea personajelor

Așa cum am tradus caractere înainte, de data aceasta vom face la fel, dar cu un singur caracter.

demo pentru pisici.txt

În acest fișier, să schimbăm toate caracterele newline într-un punct și virgulă.

demo pentru pisici.txt | tr "\ n" ";"

A trebuit să-l înfășor în jurul „ecoului”. În caz contrar, ar crea o ieșire deoarece ultimul caracter de linie nouă ar fi tradus și într-un punct și virgulă.

Există un mod diferit de a schimba personajele. Cu toate acestea, acesta este mai greu de controlat.

pisica duplicat1.txt

pisica duplicat1.txt | tr -c 'd' 'z'

pisica duplicat1.txt | tr -c 'd' 'z'

Wow! Să înfășurăm „ecoul” pentru a înțelege mai bine rezultatul.

echo $ (pisica duplicat1.txt | tr -c 'd' 'z')

Ce s-a intamplat aici? Folosind steagul „-c”, „tr” va menține caracterul țintă neschimbat. În cazul nepotrivirii, orice alt personaj va fi transformat. Aici, orice caracter altul decât „b” a fost înlocuit cu „z”.

Traducerea șirurilor

„Tr” poate funcționa și cu șiruri. Să efectuăm înlocuirea șirului.

pisica duplicat1.txt

pisica duplicat1.txt | tr "duplicat" "not_duplicate"

Șirul meu de înlocuit este mai scurt decât șirul cu care trebuie înlocuit, deci nu se potrivea.

Seturi de caractere

Până acum, ați observat că există o serie de seturi de caractere acceptate de „tr”. În timp ce mai multe dintre ele au fost utilizate în exemplele de mai sus, alte seturi de caractere sunt, de asemenea, destul de utile. Iată o listă cu toate listele de caractere acceptate.

Seturi de caractere POSIX

  • [: cifră:]: Cifre 0-9
  • [: alpha:]: Alfabete a-z și A-Z.
  • [: alnum:]: caractere alfanumerice
  • [: punct:]: simboluri de punctuație
  • [: space:]: Orice caracter al spațiului alb, de exemplu, spațiu, filă, FF, CR, NL, FF etc.
  • [: upper:]: Toate alfabetele cu majuscule
  • [: lower:]: Toate alfabetele minuscule
  • [: cntrl:]: Toate caracterele de control (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL etc.)

Seturi de caractere suplimentare

  • [A-Z]: toate alfabetele cu majuscule
  • [a-z]: toate alfabetele minuscule
  • [0-9]: Toate cifrele

Gânduri finale

Există multe moduri în care toate aceste caracteristici ale „tr” pot beneficia utilizatorii. Îți recomand întotdeauna să verifici toate opțiunile disponibile și ghidurile detaliate de pe orice instrument Linux de la paginile lor de informații, de ajutor, deoarece acestea pot oferi cunoștințe mai valoroase.

tr --help

om tr

info tr

Bucurați-vă!

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...