El comando tr de Linux ayuda a un usuario a eliminar un conjunto de caracteres o traducirlos a otro conjunto de caracteres. Esto es especialmente útil cuando sabe que se debe reemplazar un conjunto de caracteres, pero el tamaño del archivo es demasiado grande para realizar los cambios manualmente.
La lista de funciones del comando tr de Linux incluye cambiar el caso del conjunto de caracteres, eliminar caracteres específicos y exprimir caracteres repetidos de una cadena. El comando tr de Linux también permite que el sistema admin para utilizar la función básica de buscar y reemplazar, con una transformación de caracteres compleja posible cuando se usa con tuberías Unix.
Tabla de contenido
- Empezando
- Opciones en el comando tr de Linux
- Especificación de conjuntos de caracteres
- Usando el comando tr de Linux
- Conclusión
Empezando
Ahora que sabemos lo que hace el comando tr de Linux, es hora de entender cómo usarlo. La sintaxis del comando tr es:
tr [options] "char-set-1" "char-set-2"
Analicemos el comando tr y comprendamos su funcionalidad. El ‘tr’, como habrás adivinado, significa traducir. A continuación, llegamos al parámetro ‘opción’. Este parámetro nos permite elegir cómo queremos traducir una cadena.
Los parámetros etiquetados como “char-set-1” y “char-set-2” son dos cadenas dadas al comando tr de Linux para traducir. El comando tr toma los caracteres de set1 y los reemplaza con sus caracteres correspondientes de set2.
Opciones en el comando tr de Linux
El comando tr nos da una gama de opciones para elegir que regirán cómo traducimos un juego de caracteres. Aquí hay algunas opciones que puede usar con el comando tr de Linux:
- -C: se utiliza para complementar los caracteres en set1 en función de las condiciones de entrada
- -C: se utiliza para complementar los valores en set1 en función de las condiciones de entrada
- -s: se usa para ‘exprimir’ las apariciones repetidas de todos los caracteres presentes en el último operando (set1 o set2)
- -D: se utiliza para eliminar caracteres de set1
- -u: se usa para asegurarse de que la salida no esté almacenada en búfer
- -t: utilizado para truncar set1 a la longitud de set2
Estas opciones se pueden usar individualmente o combinadas para lograr el resultado deseado mientras se usa el comando tr de Linux.
Especificación de conjuntos de caracteres
Al usar el comando tr, puede ser necesario especificar qué conjuntos de caracteres deben traducirse para algunas operaciones. En este caso, seguimos las siguientes convenciones.
personaje : cuando se utilizan caracteres específicos después de una barra invertida, tienen un significado especial. Aquí hay unos ejemplos:
- a : Envía una ‘alerta’ al terminal
- B : secuencia de escape de retroceso
- r : secuencia de escape de retorno de carro
- t : agrega una tabulación a la cadena
- norte : define el final de una línea
- v : agrega una pestaña vertical
[:class:] : Estos representan el conjunto completo de caracteres que pertenecen a una ‘clase’ definida. La siguiente es una lista de muestra de nombres de clase:
- alfa : alfabetos
- dígito : caracteres numéricos
- alnum : caracteres alfanuméricos
- espacio : espacios
- más bajo : caracteres en minúsculas
- superior : letras mayúsculas
- especial : caracteres especiales
- xdigito : caracteres hexadecimales
- [#*n] : Representa la aparición del carácter en lugar de ‘#’ en una cadena ‘n’ número de veces. Sólo es válido en set2.
Usando el comando tr de Linux
Ahora que comprendemos los componentes del comando tr, es hora de probarlo por nosotros mismos.
Cambiar el caso de una cadena
Uno de los casos más comunes en los que se utiliza el comando tr de Linux es cuando el usuario desea convertir texto a mayúsculas o minúsculas. Puede cambiar el texto de minúsculas a mayúsculas en un archivo de la siguiente manera.
# Passing a file as an input tr "[:lower:]" "[:upper:]" < File_Name # Passing the echo command output to tr echo 'linuxforDeVices' | tr '[:lower:]' '[:upper:]'
Eliminar caracteres específicos de una cadena
A veces necesitamos eliminar una lista de caracteres de una cadena de texto presente en un archivo. Para examplecuando deseamos aislar los números almacenados en un archivo, ingresamos el comando:
# Taking input from a file tr -cd [:digit:] < File_Name #Passing echo output to Linux tr echo "Contact helpline number 12345-1235" | tr -cd [:digit:]
Producción :
123451235
Como puede notar, incluso el carácter de nueva línea se elimina de la salida del comando
Encontrar el complemento de una cadena
Encontrar el complemento de una cadena se realiza mediante la opción -C/-c del comando tr de Linux. Esto elimina todos los caracteres del conjunto 1 excepto los mencionados en el comando y los reemplaza con los caracteres presentes en el conjunto 2. Así es como podemos complementar el texto en un archivo dado:
# input file tr -c 's' 'z' < File_Name # Pass Echo command output echo 'mississippi'| tr -c 's' 'z'
en lo anterior example, estamos reemplazando todos los caracteres que NO son la letra “s” con la letra “z”. Como puede ver en el resultado a continuación, solo permanece la letra “s”, mientras que todo lo demás se ha convertido en z.
Listado de todas las palabras en un archivo
Para enumerar todas las palabras presentes en un archivo de modo que cada línea contenga solo una palabra, usamos el siguiente comando tr de Linux:
# input file tr -cs '[:alnum:]' 'n' < File_Name # Pass Echo command output echo 'Linux For Devices' | tr -cs '[:alnum:]' 'n'
Para realizar la misma operación en la cadena ingresada por el usuario, usamos el comando:

Convertir espacios en tabulaciones
Otro uso importante del comando tr de Linux es ajustar el formato del texto. Así es como usamos el comando para reemplazar todos los espacios en blanco con una pestaña en un archivo dado:
#Passing a file tr [:space:] 't' <File_Name> # Passing echo command output echo 'Social distancing is important'| tr [:space:] 't'

Exprimir caracteres repetidos
Cuando un carácter se usa demasiadas veces en una cadena, deseamos eliminar las instancias repetidas del carácter. Esto se hace usando la opción -s del comando tr de Linux. Así es como usamos el comando para eliminar el exceso de espacios de un archivo:
tr -s '[:space:]' < File_Name #Passing Echo command output echo 'This sentence has extra spaces' | tr -s '[:space:]'

NOTA ESPECIAL: Cuando ejecutamos un comando tr de Linux, una ejecución exitosa lleva el estado de salida 0. Sin embargo, cualquier error le daría un estado de salida diferente. Por lo tanto, es necesario prestar atención a este detalle cuando utilice el comando tr.
Conclusión
El comando tr de Linux es una herramienta poderosa para manipular juegos de caracteres sin problemas. Este tutorial cubrió los conceptos básicos del comando tr, pero su verdadero potencial se desbloquea solo cuando se usa con tuberías UNIX. Espero que hayas podido entender cómo funciona el comando tr de Linux. Si tiene alguna duda o consulta, déjela en la sección de comentarios a continuación.