Vés al contingut

Tr (Unix)

De la Viquipèdia, l'enciclopèdia lliure
Tr
Modifica el valor a Wikidata
Tipusutilitat UNIXModifica el valor a Wikidata
Part deGNU Core UtilitiesModifica el valor a Wikidata

tr(forma abreujada de l'anglèstranslate otransliterate) és una comanda dels sistemes operatiusUnixiLinux.

El programa llegeix de l'entrada estàndard i escriu a la sortida estàndard, pren dos paràmetres que indiquen quines substitucions cal fer en el text. El primer paràmetre indica quins caràcters cal substituir i el segon per quins caràcters seran substituïts.

Exemples

[modifica]

Fer una transformació del text "juli cesar" avançant les lletres de l'alfabet 7 posicions (això correspon alxifratge de Cèsar):

$ echo juli cesar | tr abcdefghijklmnopqrstuvwxyz hijklmnopqrstuvwxyzabcdefg
qbsp jlzhy

Si la versió detrsatisfà els requeriments dePOSIX,la transformació es pot fer com segueix:a-z h-za-g.Això és,

$ echo juli cesar | tr a-z h-za-g
qbsp jlzhy

El següent exemple només desplaça un caràcter:

$ echo "ibm 9000" >fitxerAuxiliar.txt
$ tr a-z za-y <fitxerAuxiliar.txt
hal 9000

En versions antigues detr(que no satisfan els requeriments dePOSIX), els caràcters s'han de posar entre claudàtors:

$ tr "[a-z]" "z[a-y]" <fitxerAuxiliar.txt

Per transformar un fitxerMSDOSa un fitxerLinuxes pot fer:

$ tr -d '\15\32' < dosfile.txt > unixfile.txt

Aquí,-dcorrespon a eliminar sense fer cap traducció.

Per traduir "\n" a "\r\n":

$ tr -A '\12' '\15\12' < input1 > output1
$ tr -A '^M' '\15\12' < output1 > output2

Aquí \n, \12 i ^M representenavançament de líniaencodi d'escapament,ASCII octalinotació ^,respectivament; \r i \15 representenretorn de carro.Per més detalls sobre aquestes traduccions i sobre quan són necessàries es pot consultarsalt de línia.


Els llenguatges de programacióRubyiPerltambé tenen un operador interntrque funciona de manera anàloga.

Enllaços externs

[modifica]