Tr (Unix)
| |
Tipus | utilitat UNIX |
---|---|
Part de | GNU Core Utilities |
tr (forma abreujada de l'anglès translate o transliterate) és una comanda dels sistemes operatius Unix i Linux.
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
Fer una transformació del text "juli cesar" avançant les lletres de l'alfabet 7 posicions (això correspon al xifratge de Cèsar):
$ echo juli cesar | tr abcdefghijklmnopqrstuvwxyz hijklmnopqrstuvwxyzabcdefg qbsp jlzhy
Si la versió de tr satisfà els requeriments de POSIX, 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 de tr (que no satisfan els requeriments de POSIX), els caràcters s'han de posar entre claudàtors:
$ tr "[a-z]" "z[a-y]" <fitxerAuxiliar.txt
Per transformar un fitxer MSDOS a un fitxer Linux es pot fer:
$ tr -d '\15\32' < dosfile.txt > unixfile.txt
Aquí, -d correspon 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 representen avançament de línia en codi d'escapament, ASCII octal i notació ^, respectivament; \r i \15 representen retorn de carro. Per més detalls sobre aquestes traduccions i sobre quan són necessàries es pot consultar salt de línia.
Els llenguatges de programació Ruby i Perl també tenen un operador intern tr que funciona de manera anàloga.
Enllaços externs
- The tr Command - de The Linux Information Project (LINFO)
- exemples de tr Arxivat 2012-07-23 a Wayback Machine.