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.