El comando tr de Linux

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

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:]'

                    
Comando Tr Básico

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.

Caracteres del complemento del comando Tr

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:

Casos de Comando Tr Casos de Comando Tr

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'

                    
Espacio de comando Linux Tr por pestañas Tr Comando-Espacio por pestañas

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:]'

                    
apretón de espacio tr apretón de espacio tr

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.

Related Posts