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.