tr es un comando en Unix , Plan 9 , Inferno y sistemas operativos similares a Unix. Es una abreviatura de traducir o transliterar , que indica su operación de reemplazar o eliminar caracteres específicos en su conjunto de datos de entrada.
Autor (es) original (es) | Douglas McIlroy ( Laboratorios Bell de AT&T ) |
---|---|
Desarrollador (es) | Varios desarrolladores comerciales y de código abierto |
Versión inicial | Noviembre de 1973 |
Repositorio | |
Sistema operativo | Unix , similar a Unix , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i |
Plataforma | Multiplataforma |
Tipo | Mando |
Licencia | coreutils : GPLv3 + |
Descripción general
La utilidad lee un flujo de bytes de 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 apariciones de los caracteres en el primer conjunto con los elementos correspondientes del segundo conjunto. Por ejemplo,
tr 'abcd' 'jkmn'
asigna todos los caracteres a a j , b a k , c a m y d a n .
El conjunto de caracteres se puede abreviar utilizando rangos de caracteres. El ejemplo anterior podría escribirse:
tr 'ad' 'jkmn'
En las versiones compatibles con POSIX de tr
, el conjunto representado por un rango de caracteres depende del orden de clasificación de la configuración regional , por lo que es más seguro evitar los rangos de caracteres en los scripts que podrían ejecutarse en una configuración regional diferente de aquella en la que se escribieron. Los rangos a menudo se pueden reemplazar con juegos de caracteres POSIX como [: alpha:] .
La s
bandera hace tr
que se compriman secuencias de caracteres adyacentes idénticos en su salida en un solo token. Por ejemplo,
tr -s '\ n'
reemplaza secuencias de uno o más caracteres de nueva línea con una sola línea nueva.
La d
bandera hace tr
que se eliminen todos los tokens del conjunto de caracteres especificado de su entrada. En este caso, solo se utiliza un único argumento de juego de caracteres. El siguiente comando elimina los caracteres de retorno de carro.
tr -d '\ r'
La c
bandera 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 de tr
fue escrita por Douglas McIlroy y se introdujo en la Versión 4 Unix . [1]
La versión de coreutilstr
incluida en GNU fue escrita por Jim Meyering. [2]
El comando también está disponible en el shell OS-9 . [3]
Un tr
comando es también parte de ASCII 's Herramientas MSX-DOS2 para MSX-DOS versión 2. [4]
La mayoría de las versiones tr
, incluidas GNU tr
y Unix clásico tr
, funcionan con caracteres de un solo byte y no son compatibles con Unicode . Una excepción es la implementación de Heirloom Toolchest , que proporciona compatibilidad básica con Unicode.
El comando tr también se ha adaptado al sistema operativo IBM i . [5]
Ruby y Perl también tienen un operador tr interno , que opera de manera análoga. [6] [7] El comando string map de Tcl es más general ya que asigna cadenas a cadenas mientras que tr asigna caracteres a caracteres. [8]
Ver también
- sed
- Lista de comandos de Unix
- Utilidades principales de GNU
Referencias
- ^ McIlroy, MD (1987). Un lector de investigación Unix: extractos comentados del Manual del programador, 1971–1986 (PDF) (Informe técnico). La ciencia de Computación. Laboratorios AT&T Bell. 139.
- ^ https://linux.die.net/man/1/tr
- ^ Paul S. Dayan (1992). The OS-9 Guru - 1: Los hechos . Galáctica Industrial Limited. ISBN 0-9519228-0-7.
- ^ Manual de usuario de herramientas MSX-DOS2 de ASCII Corporation
- ^ IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . Consultado el 5 de septiembre de 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 de manual de cadenas" . Consultado el 12 de agosto de 2015 .
enlaces externos
- - Referencia de comandos y utilidades, la especificación única de UNIX , número 7 de The Open Group
- tr (1) - Página de manual de Unix 8th Edition.
- - Manual de comandos generales de FreeBSD
- - Manual de referencia de comandos de usuario de Solaris 10
- - Manual del 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