Tr (Unix)tr es un comando de la familia de Sistemas Operativos Unix que permite el reemplazo o eliminación de un conjunto de caracteres de la Entrada estándar (stdin). Su nombre proviene de la palabra inglesa translate, que significa traducir.[1] Este comando necesariamente trabaja leyendo la información de la Entrada estándar y volcando el resultado directamente a la Salida estándar, no permitiendo en ningún momento que se le indique algún Archivo. Es muy importante aclarar que tr no es compatible con codificaciones de caracters que utilicen más de 1 byte para su representación, por ejemplo Unicode y toda aquella que use esta (UTF-8). Esta limitación se debe a que el comando trabaja byte a byte en las operaciones que realiza (eliminación/reemplazo), por lo tanto el uso de dichas codificaciones hace que tr genere resultados inesperados.[2]
Modo de usoLa invocación del comando tr tiene la siguiente sintaxis:
Donde CONJUNTO1 Y CONJUNTO2 son ambos secuencias de caracteres definidas explícitamente o bien usando los conjuntos predefinidos por este comando. La característica principal de trabajo de tr es que asocia cada carácter del CONJUNTO1 con los del CONJUNTO2, salvo que la operación no requiera de este último conjunto. A continuación se detalla con un ejemplo la asociación:
En este caso se define explícitamente al CONJUNTO1 compuesto por los caracteres 'a','b' y 'c'. Mientras que el segundo compuesto por '1', '2' y '3'. En este caso tr asocia el carácter 'a' con el '1', 'b' con el '2', etc. En caso de que el primer conjunto sea menor que el segundo, la asociación se realiza con la misma lógica ignorando los sobrantes del CONJUNTO2, mientras que si se da el caso contrario de que el primer conjunto sea mayor tr asume que el último carácter del segundo conjunto estará asociado a los "sobrantes" del CONJUNTO1. Ejemplo:
La asociación queda establecida así: 'a' con '1', y 'b','c' y 'd' con '2'. Aun así cabe la posibilidad de cambiar esta forma de asociación usando el parametró -t (ver más abajo). Por otro lado las operaciones que podemos realizar con tr, están dadas por sus parámetros, los cuales se detallan a continuación:
Definición de conjuntos de caracteresEl comando tr permite al Usuario definir explícitamente como estará compuesto el conjunto o bien provee de una colección de caracteres y conjuntos predefinidos, que puede ser utilizados a la hora de definirlos. La forma explícita puede constar de escribir cada carácter, o bien definir un rango indicado de la siguiente forma:
Por ejemplo conjunto 'a-g' define 'abcdefg'. La utilización de rango puede aprovecharse para definir conjuntos de mayúsculas y minúsculas, 'A-Z' y 'a-z' respectivamente, entre otros. También podemos usar repeticiones, muy útil para la definición del segundo conjunto, de la siguiente forma:
Donde carácter es algún carácter explícito o predefinido, y N_Repeticiones, es justamente el número de repeticiones que deseamos. Ejemplo 5 veces la letra a y otras 10 veces la letra b, se define así: '[a*5][b*10]'. Ahora más allá de esta forma, contamos con algunos caracteres y conjuntos predefinidos por el comando tr:[3] \\ : Barra invertida. \a : Carácter audible (Campana/Bell). \b : Retroceso. \f : Salto de Página. \n : Nueva línea. \r : Retorno de carro. \t : Tabulador. \v : Tabulador vertical. [:alnum:] : Las letras y Dígitos. [:alpha:] : Letras. [:blank:] : Espacios en Blanco. [:cntrl:] : Caracteres de control. [:digit:] : Dígitos. [:graph:] : Caracteres imprimibles, sin incluir el Espacio en Blanco. [:print:] : Caracteres imprimibles, incluyendo el Espacio en Blanco. [:lower:] : Letras minúsculas. [:upper:] : Letras mayúsculas. [:punct:] : Signos de puntuación. [:space:] : Los Espacios en Blanco verticales y horizontales. [:xdigit:] : Dígitos Hexadecimales. [=CARACTER=] : todos los caracteres que sean equivalentes a CARACTER. EjemplosSe muestran a continuación algunos ejemplos sencillos del comando tr. En todos ellos la entrada de información se logra con el comando echo, aunque puede usarse cat , por ejemplo, para el procesamiento de archivos: Reemplazar las Comillas (") por un Espacio en Blanco, y los punto y comas por el carácter de Tabulación (\t). Útil para trabajar con Archivos CSV
Resultado: Juan Pepe
Resultado: Este es un simple ejemplo!. Algo práctico tal vez?
Resultado: Este es otro simple ejemplo!.
Resultado: hOLA mUNDO!.
Véase tambiénEnlaces externos
Referencias |
Portal di Ensiklopedia Dunia