10 tr komandu piemēri Linux


tr (saīsinājums tulkošanai) ir noderīga komandrindas lietderība, kas tulko un/vai izdzēš rakstzīmes no stdin ievades un raksta stdout. Tā ir noderīga programma, lai manipulētu ar tekstu komandrindā.

Šajā rakstā mēs izskaidrosim dažus noderīgus tr komandu piemērus Linux iesācējiem.

Tr komandas palaišanas sintakse ir šāda, kur SET1 rakstzīmes tiek pārtulkotas uz SET2 rakstzīmēm.

$ tr flags [SET1] [SET2]

Linux tr komandu piemēri

1. Vienkāršs tr komandu izmantošanas gadījums ir visu mazo burtu maiņa tekstā uz lielajiem un otrādi, kā parādīts zemāk.

$ 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. Varat arī izmantot šo komandu, lai failā nomainītu visus mazos burtus uz lielajiem, kā parādīts.

$ 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. Lai stdout ierakstītos rezultātus saglabātu failā vēlākai apstrādei, izmantojiet čaulas izvades novirzīšanas funkciju (>) , kā parādīts.

$ 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. Attiecībā uz novirzīšanu jūs varat nosūtīt ievadi uz tr, izmantojot ievades novirzīšanu, un novirzīt izvadi uz failu, izmantojot to pašu komandu, kā parādīts.

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

5. Vēl viena noderīga funkcija ir tā, ka karogu -d var izmantot, lai dzēstu rakstzīmes, piemēram, lai noņemtu atstarpes domēna nosaukumos, izmantojot šādu komandu.

$ 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. Ja apstrādājamajā tekstā ir atkārtotas rakstzīmes secībā (piemēram, dubultas atstarpes), varat izmantot opciju -s , lai saspiestu rakstzīmes, atstājot tikai vienu tās sastopamību.

$ 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. Opcija -c norāda, ka tr jāizmanto papildinājums dotajā SET. Šajā piemērā mēs vēlamies izdzēst visus burtus un atstāt tikai UID.

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

8. Šeit ir piemērs, kā sadalīt vienu vārdu rindiņu (teikumu) vairākās rindās, kur katrs vārds parādās atsevišķā rindā.

$ echo "My UID is $UID"

My UID is 1000

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

My 
UID 
is 
1000

9. Saistībā ar iepriekšējo piemēru jūs varat arī tulkot vairākas vārdu rindas vienā teikumā, kā parādīts.

$ cat uid.txt

My 
UID 
is 
1000

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

My UID is 1000

10. Ir iespējams arī tulkot tikai vienu rakstzīmi, piemēram, atstarpi rakstzīmē “:” šādi.

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

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

Ir vairākas secības rakstzīmes, kuras varat izmantot kopā ar tr, lai iegūtu papildinformāciju, skatiet tr rokas lapu.

$ man tr

Tas ir viss! tr ir noderīga komanda, lai manipulētu ar tekstu komandrindā. Šajā rokasgrāmatā mēs parādījām dažus noderīgus tr komandu izmantošanas piemērus Linux iesācējiem. Jūs varat dalīties savās domās ar mums, izmantojot zemāk esošo komentāru veidlapu.