El comando `tr` es una instrucción en Unix , Plan 9 , Inferno y sistemas operativos similares a Unix . Es una abreviatura de "traducir " o "transliterar" , e indica su función de reemplazar o eliminar caracteres específicos en el conjunto de datos de entrada.
Descripción general
La utilidad lee una secuencia de bytes desde su entrada estándar y escribe el resultado en la salida estándar . Como argumentos , toma dos conjuntos de caracteres (generalmente de la misma longitud) y reemplaza las ocurrencias de los caracteres en el primer conjunto con los elementos correspondientes del segundo conjunto. Por ejemplo,
tr 'abcd' 'jkmn'
asigna todos los caracteres de la a a la j , de la b a la k , de la c a la m y de la d a la n .
El conjunto de caracteres se puede abreviar utilizando rangos de caracteres. El ejemplo anterior podría escribirse de la siguiente manera:
tr 'ad' 'jkmn'
En las versiones compatibles con POSIX de tr, el conjunto representado por un rango de caracteres depende del orden de intercalación de la configuración regional , por lo que es más seguro evitar rangos de caracteres en scripts que podrían ejecutarse en una configuración regional diferente de aquella en la que fueron escritos. Los rangos a menudo pueden reemplazarse con conjuntos de caracteres POSIX como [:alpha:] .
La sbandera hace trque se compriman secuencias de caracteres adyacentes idénticos en su salida a un solo token. Por ejemplo,
tr -s '\n'
Reemplaza secuencias de uno o más caracteres de salto de línea con un solo salto de línea.
El dindicador trelimina todos los tokens del conjunto de caracteres especificado de la entrada. En este caso, solo se utiliza un argumento de conjunto de caracteres. El siguiente comando elimina los caracteres de retorno de carro.
tr -d '\r'
La cbandera indica el complemento del primer conjunto de caracteres. La invocación
tr -cd '[:alnum:]'
Por lo tanto, elimina todos los caracteres no alfanuméricos.
Implementaciones
La versión original trfue escrita por Douglas McIlroy y se introdujo en la versión 4 de Unix . [ 1 ]
La versión trincluida en GNU coreutils fue escrita por Jim Meyering. [ 2 ] El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos nativos Win32 de utilidades comunes de tipo GNU Unix. [ 3 ] También está disponible en el shell de OS-9 . [ 4 ] Un comando también forma parte de MSX-DOS2 Tools de ASCII para MSX-DOS versión 2. [ 5 ] El comando tr también ha sido portado al sistema operativo IBM i . [ 6 ]tr
La mayoría de las versiones de tr, incluidas GNU try Unix clásico tr, operan con caracteres de un solo byte y no cumplen con Unicode . Una excepción es la implementación de Heirloom Toolchest , que proporciona soporte básico para Unicode.
Ruby y Perl también tienen un operador interno tr , que funciona de forma análoga. [ 7 ] [ 8 ] El comando string map de Tcl es más general, ya que asigna cadenas a cadenas, mientras que tr asigna caracteres a caracteres. [ 9 ]
Véase también
Referencias
- ↑ McIlroy, MD (1987). Un lector de Research Unix: extractos anotados del Manual del programador, 1971–1986 (PDF) (Informe técnico). Ciencias de la Computación. Laboratorios Bell de AT&T. 139.
- ↑ "Tr(1): Traducir/Eliminar carácter - Página man de Linux" .
- ↑ "Adaptaciones nativas para Win32 de algunas utilidades GNU" . unxutils.sourceforge.net . Archivado del original el 9 de febrero de 2006. Consultado el 11 de agosto de 2025 .
- ↑ Paul S. Dayan (1992). El gurú del OS-9 - 1 : Los hechos . Galactic Industrial Limited. ISBN 0-9519228-0-7.
- ↑ Manual de usuario de MSX-DOS2 Tools de ASCII Corporation
- ↑ IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . IBM . Archivado (PDF) del original el 18-09-2020 . Recuperado el 05-09-2020 .
- ↑ "tr (String) - APIdock" . APIdock . Consultado el 12 de agosto de 2015 .
- ↑ "tr - perldoc.perl.org" . perldoc.perl.org . Consultado el 12 de agosto de 2015 .
- ↑ "Comandos integrados de Tcl - página del manual de cadenas" . Archivado del original el 15 de abril de 2018. Consultado el 12 de agosto de 2015 .
Enlaces externos
- – Referencia de shell y utilidades, Especificación única de UNIX , Versión 5 de The Open Group
- tr(1) – Página del manual de Unix 8.ª edición.
- – Manual de comandos generales de FreeBSD
- – Manual de referencia de comandos de usuario de Solaris 11.4
- – Manual de usuario de Linux – Comandos de usuario
- – Manual del programador de Plan 9 , Volumen 1
- – Manual de comandos generales de Inferno
- Ejemplos de uso en examplenow.com
- utilidades de procesamiento de texto de Unix
- Utilidades Unix SUS2008
- Órdenes del Plan 9
- Comandos de Inferno (sistema operativo)
- Comandos de Qshell para IBM i