10 tr Kommandoeksempler i Linux


tr (forkortelse for translate) er et nyttigt kommandolinjeprogram, der oversætter og/eller sletter tegn fra stdin-input og skriver til stdout. Det er et nyttigt program til manipulation af tekst på kommandolinjen.

I denne artikel vil vi forklare nogle nyttige eksempler på tr-kommandoer til Linux-nybegyndere.

Syntaksen for at køre tr-kommandoen er som følger, hvor tegn i SET1 oversættes til tegn i SET2.

$ tr flags [SET1] [SET2]

Linux tr Kommandoeksempler

1. En simpel brugskode for tr-kommandoen er at ændre alle små bogstaver i tekst til store bogstaver og omvendt, som vist nedenfor.

$ cat linux.txt

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

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

2. Alternativt kan du bruge følgende kommando til at ændre alle små bogstaver til store bogstaver i en fil som vist.

$ 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. For at gemme resultaterne skrevet til stdout i en fil til senere behandling skal du bruge shellens output omdirigeringsfunktion (>) som vist.

$ 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. Med hensyn til omdirigering kan du sende input til tr ved hjælp af inputomdirigering og omdirigere output til en fil ved hjælp af den samme kommando som vist.

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

5. En anden nyttig funktion er, at du kan bruge flagget -d til at slette tegn, for eksempel for at fjerne mellemrum i domænenavne ved hjælp af følgende kommando.

$ 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. Hvis der er gentagne tegn i en sekvens (for eksempel dobbeltrum) i den tekst, du behandler, kan du bruge indstillingen -s til at presse tegnene, så der kun er én forekomst af den.

$ 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. Indstillingen -c fortæller tr at bruge komplementet i det givne af SET. I dette eksempel ønsker vi at slette alle bogstaverne og kun forlade UID.

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

8. Her er et eksempel på at bryde en enkelt ordlinje (sætning) i flere linjer, hvor hvert ord vises i en separat linje.

$ echo "My UID is $UID"

My UID is 1000

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

My 
UID 
is 
1000

9. I forbindelse med det foregående eksempel kan du også oversætte flere ordlinjer til en enkelt sætning som vist.

$ cat uid.txt

My 
UID 
is 
1000

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

My UID is 1000

10. Det er også muligt at oversætte kun et enkelt tegn, for eksempel et mellemrum til et “:” -tegn som følger.

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

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

Der er flere sekvenstegn, du kan bruge med tr. For mere information, se tr mandsiden.

$ man tr

Det er alt! tr er en nyttig kommando til manipulation af tekst på kommandolinjen. I denne vejledning viste vi nogle nyttige eksempler på brug af tr-kommandoer til Linux nybegyndere. Du kan dele dine tanker med os via kommentarformularen nedenfor.