10 tr Primjeri naredbi u Linuxu


tr (skraćenica za translate) je koristan uslužni program naredbenog retka koji prevodi i/ili briše znakove iz stdin unosa i piše u stdout. To je koristan program za manipuliranje tekstom u naredbenom retku.

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

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

tr flags [SET1] [SET2]

Primjeri Linux tr naredbi

1. Jednostavan slučaj upotrebe tr naredbe je promjena svih malih slova u tekstu u velika i obrnuto, kao što je prikazano u nastavku.

$ 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 za promjenu svih malih 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 spremili rezultate zapisane u stdout u datoteku za kasniju obradu, upotrijebite značajku 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 unos u tr koristeći preusmjeravanje unosa i preusmjeriti izlaz u datoteku koristeći istu naredbu, kao što je prikazano.

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

5. Još jedna korisna značajka je da možete koristiti zastavu -d za brisanje znakova, na primjer, za uklanjanje razmaka u imenima domena pomoću sljedeće naredbe.

$ 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 biste stisnuli 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 komplement u danom 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. Ovdje je primjer rastavljanja jednog retka riječi (rečenice) u više redaka, 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 redaka 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 sekvenci znakova koje možete koristiti s tr, za više informacija pogledajte tr stranicu priručnika.

man tr

To je sve! tr je korisna naredba za manipuliranje tekstom u naredbenom retku. U ovom smo vodiču pokazali neke korisne primjere korištenja naredbe tr za početnike u Linuxu. Svoje mišljenje možete podijeliti s nama putem obrasca za komentare u nastavku.