10 tr Kommandoeksempler i Linux


tr (forkortelse for translate) er et nyttig kommandolinjeverktøy som oversetter og/eller sletter tegn fra stdin-inndata, og skriver til stdout. Det er et nyttig program for å manipulere tekst på kommandolinjen.

I denne artikkelen vil vi forklare noen nyttige eksempler på tr-kommandoer for nybegynnere i Linux.

Syntaksen for å kjøre tr-kommando er som følger, der tegn i SET1 er oversatt til tegn i SET2.

$ tr flags [SET1] [SET2]

Linux tr Kommandoeksempler

1. En enkel tr-kommandobruk er å endre alle små bokstaver i tekst til store bokstaver 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 bruke følgende kommando for å endre alle små bokstaver til store bokstaver 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 å lagre resultatene som er skrevet til stdout i en fil for senere behandling, bruk skallets utdataomdirigeringsfunksjon (>) 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. Når det gjelder omdirigeringen, kan du sende input til tr ved å bruke input-omdirigeringen og omdirigere utdataene til en fil med samme kommando, som vist.

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

5. En annen nyttig funksjon er at du kan bruke -d-flagget for å slette tegn, for eksempel for å fjerne mellomrom i domenenavnene ved å bruke 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 det er gjentatte tegn i en sekvens (for eksempel doble mellomrom) i teksten du behandler, kan du bruke -s-alternativet til å klemme inn tegnene og bare etterlate én forekomst av 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. Alternativet -c forteller tr å bruke komplementet i gitt av SET. I dette eksemplet ønsker vi å slette alle bokstavene og bare forlate 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å å dele en enkelt linje med ord (setning) i flere linjer, hvor hvert ord vises i en egen linje.

$ echo "My UID is $UID"

My UID is 1000

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

My 
UID 
is 
1000

9. I forhold til forrige eksempel kan du også oversette flere linjer med ord til en enkelt setning som vist.

$ cat uid.txt

My 
UID 
is 
1000

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

My UID is 1000

10. Det er også mulig å oversette bare et enkelt tegn, for eksempel et mellomrom til et \ : ” tegn, som følger.

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

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

Det er flere sekvenstegn du kan bruke med tr, for mer informasjon, se tr-man-siden.

$ man tr

Det er alt! tr er en nyttig kommando for å manipulere tekst på kommandolinjen. I denne guiden viste vi noen nyttige eksempler på bruk av tr-kommandoer for nybegynnere i Linux. Du kan dele tankene dine med oss via kommentarskjemaet nedenfor.