Linux Tutorials | tr command | GeeksforGeeks
Cuprins:
- Cum se utilizează comanda
tr - Opțiuni combinate
- Exemple de comandă Tr
- Convertiți minusculele în majuscule
- Eliminați toate caracterele care nu sunt numerice
- Puneți fiecare cuvânt într-o linie nouă
- Eliminați liniile goale
- Imprima directoarele
$PATHpe o linie separată - Concluzie
tr
este o utilitate pentru linia de comandă în sistemele Linux și Unix care traduce, șterge și stoarce caractere din intrarea standard și scrie rezultatul la ieșirea standard.
Comanda
tr
poate efectua operațiuni precum înlăturarea caracterelor repetate, conversia cu majuscule în minuscule și înlocuirea și eliminarea caracterelor de bază. De obicei, este utilizat în combinație cu alte comenzi prin conducte.
În acest tutorial, vă vom arăta cum să utilizați comanda
tr
prin exemple practice și explicații detaliate ale celor mai comune opțiuni.
Cum se utilizează comanda
tr
Sintaxa pentru comanda
tr
este următoarea:
tr OPTION… SET1
tr
acceptă două seturi de caractere, de obicei cu aceeași lungime și înlocuiește caracterele primelor seturi cu caracterele corespunzătoare din al doilea set.
Un
SET
este practic un șir de caractere, inclusiv caracterele speciale care au scăpat din spate.
În următorul exemplu,
tr
va înlocui toate caracterele de la intrarea standard (linuxize), prin cartografierea caracterelor din primul set cu cele potrivite din al doilea set.
echo 'linuxize' | tr 'lin' 'red'
Fiecare apariție a lui
l
este înlocuită cu
r
,
i
cu
e
, și
n
cu
d
:
reduxeze
Seturile de caractere pot fi definite și folosind intervale de caractere. De exemplu, în loc să scrii:
echo 'linuxize' | tr 'lmno' 'wxyz'
poți să folosești:
echo 'linuxize' | tr 'ln' 'w-z'
Când se
--complement
opțiunea
-c
(
--complement
),
tr
înlocuiește toate caracterele care nu sunt în SET1.
În exemplul de mai jos, toate caracterele, cu excepția „li” vor fi înlocuite cu ultimul caracter din al doilea set:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
După cum ați observat, ieșirea de mai sus are un caracter mai vizibil decât intrarea. Acest lucru se datorează faptului că comanda
echo
imprimă un caracter newline invizibil
care este înlocuit
y
cu
y
. Pentru a ecua un șir fără o linie nouă, utilizați opțiunea
-n
.
Opțiunea
-d
(
--delete
) spune
tr
să ștergeți caracterele specificate în SET1. Când ștergeți caracterele fără a stoarce, specificați doar un set.
Comanda de mai jos va elimina caracterele
l
,
i
și
z
:
echo 'Linuxize' | tr -d 'liz'
Caracterul
L
nu este șters deoarece intrarea include o majusculă
L
timp ce caracterul
l
din SET este cu litere mici.
Lnuxe
Opțiunea
-s
(
--squeeze-repeats
) înlocuiește o secvență de apariții repetate cu caracterul setat în ultimul set.
În următorul exemplu,
tr
elimină caracterele de spațiu repetate:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Când SET2 este utilizat, secvența caracterului specificat în SET1 este înlocuită cu SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
Opțiunea
-t
(
--truncate-set1
) obligă
tr
să truncheze SET1 pe lungimea SET2 înainte de a face procesarea ulterioară.
În mod implicit, dacă SET1 este mai mare decât SET2
tr
va reutiliza ultimul caracter al SET2. Iată un exemplu:
echo 'Linux ize' | tr 'abcde' '12'
Rezultatul arată că caracterul
e
din SET1 este asociat cu cel mai recent caracter al SET2, care este
2
:
Linux iz2
Acum, utilizați aceeași comandă cu opțiunea
-t
:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Puteți vedea că ultimele trei caractere ale SET1 sunt eliminate. SET1 devine „ab”, aceeași lungime ca SET2 și nu se face nicio înlocuire.
Opțiuni combinate
Comanda
tr
vă permite, de asemenea, să combinați opțiunile sale. De exemplu, următoarea comandă înlocuiește mai întâi toate caracterele cu excepția
i
cu
0
și apoi stoarce repetate
0
caractere:
echo 'Linux ize' | tr -cs 'i' '0'
Exemple de comandă Tr
În această secțiune, vom include câteva exemple de utilizări comune ale comenzii
tr
.
Convertiți minusculele în majuscule
Conversia cu majuscule în majusculă sau inversă este unul dintre cazurile tipice de utilizare a comenzii
tr
.
se potrivește cu toate caracterele minuscule și
se potrivește cu toate caracterele cu majuscule
echo 'Linuxize' | tr '' ''
LINUXIZE
În loc de clase de caractere, puteți utiliza, de asemenea, intervale:
echo 'Linuxize' | tr 'az' 'A-Z'
Pentru a converti cu majuscule în minuscule, pur și simplu schimbați locurile seturilor.
Eliminați toate caracterele care nu sunt numerice
Următoarea comandă elimină toate caracterele care nu sunt numerice:
echo "my phone is 123-456-7890" | tr -cd
înseamnă toate caracterele cu cifre și, folosind opțiunea
-c
, comanda elimină toate caracterele care nu sunt cifre. Rezultatul va arăta astfel:
Puneți fiecare cuvânt într-o linie nouă
Pentru a pune fiecare cuvânt într-o linie nouă, trebuie să corespundem tuturor caracterelor care nu sunt alfanumerice și să le înlocuim cu o nouă linie:
echo 'GNU is an operating system' | tr -cs '' '\n'
Eliminați liniile goale
Pentru a șterge liniile goale, pur și simplu stoarceți caracterele repetate ale liniei noi:
tr -s '\n' < file.txt > new_file.txt
În comanda de mai sus folosim simbolul redirecționare
<
pentru a trece conținutul
file.txt
la comanda
tr
. Redirecția
>
scrie ieșirea comenzii în
new_file.txt
.
Imprima directoarele
$PATH
pe o linie separată
Variabila de mediu
$PATH
este o listă de directoare delimitată de colon care indică shell-ul ce directoare să caute fișiere executabile atunci când tastați o comandă.
Pentru a tipări fiecare director pe o linie separată, trebuie să corespundem punctului (:) și să îl înlocuim cu noua linie:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
Concluzie
tr
este o comandă pentru traducerea sau ștergerea caracterelor.
Deși foarte util,
tr
poate funcționa doar cu caractere unice. Pentru o potrivire mai complexă a modelului și manipularea șirurilor, ar trebui să folosiți
sed
sau
awk
.
Comanda ecou în linux cu exemple
Comanda ecou este una dintre cele mai de bază și frecvent utilizate comenzi în Linux. Argumentele transmise ecoului sunt tipărite la ieșirea standard.
Curbați comanda în linux cu exemple
Curl este un utilitar pentru linia de comandă pentru transferul datelor de pe sau către un server proiectat să funcționeze fără interacțiunea utilizatorului. În acest tutorial, vă vom arăta cum să folosiți instrumentul de ondulare prin exemple practice și explicații detaliate ale celor mai comune opțiuni de ondulare.
Linux taie comanda cu exemple
Cut este un utilitar pentru linia de comandă care vă permite să tăiați părți din linii din fișierele specificate sau datele conectate și să imprimați rezultatul la ieșirea standard. În acest tutorial, vă vom arăta cum să utilizați comanda tăiere Linux prin exemple practice și explicații detaliate ale celor mai comune opțiuni de tăiere.







