10 tr komentoesimerkkejä Linuxissa


tr (lyhenne sanoista translate) on hyödyllinen komentorivityökalu, joka kääntää ja/tai poistaa merkkejä stdin-syötteestä ja kirjoittaa stdout-muotoon. Se on hyödyllinen ohjelma tekstin käsittelyyn komentorivillä.

Tässä artikkelissa selitetään hyödyllisiä tr-komento-esimerkkejä Linux-aloittelijoille.

tr-komennon suorittamisen syntaksi on seuraava, jossa SET1:n merkit käännetään SET2:n merkeiksi.

tr flags [SET1] [SET2]

Linux tr -komentoesimerkkejä

1. Yksinkertainen tr-komennon käyttötapaus on muuttaa kaikki tekstin pienet kirjaimet isoiksi ja päinvastoin alla olevan kuvan mukaisesti.

$ 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. Vaihtoehtoisesti voit käyttää seuraavaa komentoa muuttaaksesi kaikki pienet kirjaimet isoiksi tiedostossa kuvan osoittamalla tavalla.

$ 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. Jos haluat tallentaa stdoutiin kirjoitetut tulokset tiedostoon myöhempää käsittelyä varten, käytä komentotulkin tulosteen uudelleenohjausominaisuutta (>) kuvan mukaisesti.

$ 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. Mitä tulee uudelleenohjaukseen, voit lähettää syötteen tr-syötteen uudelleenohjauksen avulla ja ohjata tulosteen tiedostoon käyttämällä samaa komentoa kuvan mukaisesti.

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

5. Toinen hyödyllinen ominaisuus on, että voit käyttää -d-lippua merkkien poistamiseen, esimerkiksi välilyöntien poistamiseen verkkotunnusten nimistä seuraavalla komennolla.

$ 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. Jos käsiteltävässä tekstissä on toistuvia merkkejä peräkkäin (esimerkiksi kaksoisvälilyöntejä), voit käyttää -s-vaihtoehtoa puristaaksesi merkit jättäen vain yksi sen esiintyminen.

$ 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. Vaihtoehto -c käskee tr:ta käyttämään komplementtia SET-asetuksessa. Tässä esimerkissä haluamme poistaa kaikki kirjaimet ja jättää vain UID:n.

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

8. Tässä on esimerkki yksittäisen sanarivin (lauseen) jakamisesta useiksi riveiksi, joissa jokainen sana näkyy erikseen.

$ echo "My UID is $UID"

My UID is 1000

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

My 
UID 
is 
1000

9. Edelliseen esimerkkiin liittyen voit myös kääntää useita sanarivejä yhdeksi lauseeksi kuvan osoittamalla tavalla.

$ cat uid.txt

My 
UID 
is 
1000

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

My UID is 1000

10. On myös mahdollista kääntää vain yksi merkki, esimerkiksi välilyönti, “ : ”-merkiksi seuraavasti.

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

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

Voit käyttää tr:n kanssa useita peräkkäisiä merkkejä. Lisätietoja on tr -manuaalisivulla.

man tr

Siinä kaikki! tr on hyödyllinen komento komentorivin tekstin käsittelyyn. Tässä oppaassa näytimme hyödyllisiä tr-komennon käyttöesimerkkejä Linux-aloittelijoille. Voit jakaa ajatuksesi kanssamme alla olevan kommenttilomakkeen kautta.