10 tr Primjeri naredbi u Linuxu


tr (skraćeno od translate) je koristan uslužni program komandne linije koji prevodi i/ili briše znakove iz stdin ulaza i upisuje u stdout. To je koristan program za manipulaciju tekstom na komandnoj liniji.

Ovaj članak će objasniti neke korisne primjere tr naredbe za Linux početnike.

Sintaksa za pokretanje tr komande je sljedeća, gdje se znakovi u SET1 prevode u znakove u SET2.

tr flags [SET1] [SET2]

Primjeri naredbi Linux tr

1. Jednostavan slučaj upotrebe tr naredbe je da promijenite sva mala slova u tekstu u velika i obrnuto, kao što je prikazano ispod.

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. Alternativno, možete koristiti sljedeću naredbu da promijenite sva mala slova u velika u datoteci kao što je prikazano.

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. Da biste sačuvali rezultate zapisane u stdout u datoteci za kasniju obradu, koristite funkciju preusmjeravanja izlaza ljuske (>) kao što je prikazano.

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. Što se tiče preusmjeravanja, možete poslati ulaz u tr koristeći preusmjeravanje ulaza i preusmjeriti izlaz na datoteku koristeći istu komandu, kao što je prikazano.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Još jedna korisna karakteristika je da možete koristiti oznaku -d za brisanje znakova, na primjer, za uklanjanje razmaka u nazivima domena koristeći sljedeću naredbu.

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

6. Ako postoje ponovljeni znakovi u nizu (na primjer, dvostruki razmaci) u tekstu koji obrađujete, možete koristiti opciju -s da stisnete znakove ostavljajući samo jedna pojava toga.

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

7. Opcija -c govori tr da koristi dopunu u datom od SET. U ovom primjeru želimo izbrisati sva slova i ostaviti samo UID.

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Evo primjera razbijanja jednog reda riječi (rečenice) u više redova, gdje se svaka riječ pojavljuje zasebno.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. U vezi s prethodnim primjerom, također možete prevesti više redova riječi u jednu rečenicu kao što je prikazano.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. Također je moguće prevesti samo jedan znak, na primjer, razmak u znak “ : ”, kako slijedi.

$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

Postoji nekoliko znakova niza koje možete koristiti sa tr, za više informacija pogledajte stranicu tr.

man tr

To je sve! tr je korisna komanda za manipulaciju tekstom na komandnoj liniji. U ovom vodiču smo pokazali neke korisne primjere upotrebe tr komande za početnike u Linuxu. Svoje mišljenje možete podijeliti s nama putem obrasca za komentare ispod.