Weboldal keresés

10 tr Parancspéldák Linuxban


A tr (a translate rövidítése) egy hasznos parancssori segédprogram, amely lefordítja és/vagy törli a karaktereket az stdin bemenetről, és az stdout-ba ír. Hasznos program a parancssori szövegek kezelésére.

Ez a cikk néhány hasznos tr parancs példát mutat be a Linux kezdők számára.

A tr parancs futtatásának szintaxisa a következő, ahol a SET1 karakterei a SET2 karaktereivé lesznek lefordítva.

tr flags [SET1] [SET2]

Linux tr parancs Példák

1. Egy egyszerű tr parancs felhasználási eset az, hogy a szövegben lévő összes kisbetűt nagybetűre változtatja, és fordítva, az alábbiak szerint.

$ 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. Alternatív megoldásként a következő paranccsal módosíthatja az összes kisbetűt nagybetűre egy fájlban az ábrán látható módon.

$ 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. Ha az stdout fájlba írt eredményeket fájlba szeretné menteni későbbi feldolgozás céljából, használja a shell (>) kimeneti átirányítási funkcióját, ahogy az ábra mutatja.

$ 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. Ami az átirányítást illeti, a bemeneti átirányítással elküldheti a bemenetet a tr-re, és átirányíthatja a kimenetet egy fájlba ugyanazzal a paranccsal, az ábrán látható módon.

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

5. Egy másik hasznos funkció, hogy a -d kapcsolóval törölheti a karaktereket, például a szóközök eltávolításához a tartománynevekből a következő paranccsal.

$ 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. Ha a feldolgozott szövegben egy sorozatban ismétlődő karakterek (például kettős szóközök) vannak, a -s opcióval összenyomhatja a karaktereket, így csak annak egy előfordulása.

$ 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. A -c opció megmondja, hogy a tr használja a kiegészítést a SET paraméterben. Ebben a példában törölni szeretnénk az összes betűt, és csak az UID-t szeretnénk meghagyni.

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

8. Íme egy példa egyetlen szósor (mondat) több sorra bontására, ahol minden szó külön jelenik meg.

$ echo "My UID is $UID"

My UID is 1000

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

My 
UID 
is 
1000

9. Az előző példához kapcsolódóan több sornyi szót is lefordíthat egyetlen mondattá, ahogy az ábra mutatja.

$ cat uid.txt

My 
UID 
is 
1000

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

My UID is 1000

10. Lehetőség van arra is, hogy egyetlen karaktert, például egy szóközt lefordítson “ : ” karakterré, az alábbiak szerint.

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

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

Számos sorozatkarakter használható a tr mellett, további információkért tekintse meg a tr kézikönyvoldalt.

man tr

Ez minden! A tr egy hasznos parancs a parancssori szövegek kezeléséhez. Ebben az útmutatóban néhány hasznos példát mutattunk be a tr parancs használatára a Linux kezdők számára. Az alábbi megjegyzés űrlapon keresztül megoszthatja velünk gondolatait.