El comando tr de Linux es una de las herramientas de línea de comandos más útiles para trabajar con cadenas, caracteres y líneas de texto. Esta herramienta se encarga de traducir, eliminar y comprimir caracteres y cadenas.
El comando tr viene incorporado dentro de la mayoría de los sistemas basados en Linux, como Ubuntu y Debian. Si aún no lo tiene instalado, puede usar el comando “apt-get” para obtener la última versión.
usualmente se usa junto con el comando echo para pasar información a tr pero se pueden usar también los redirectores de entrada/salida para leer archivos de texto y emitir la salida a un archivo diferente.
En esta guía veremos cómo usar el comando tr correctamente y los diversos usos para el mismo.
¿Qué es el comando tr?
El comando tr (abreviatura de translate) es una herramienta de línea de comandos para traducir, eliminar y comprimir caracteres y cadenas.
Esta herramienta se usa para convertir entradas de caracteres en caracteres y cadenas alternativos.
Para realizar estas traducciones o cambios, cada entrada se comparará con la lista de caracteres clave y los que coincidan serán cambiados a los nuevos caracteres y cadenas especificados.
Por ejemplo, el comando tr puede ser útil para cambiar cadenas de minúsculas a mayúsculas o viceversa. Esto se logra especificando la lista de caracteres deseados para cada entrada y el comando tr los intercambiará automáticamente.
Sustitución de caracteres
El comando tr está diseñado para realizar una sustitución de caracteres de una entrada de texto. Esto significa que el comando tomará la entrada y la sustituirá por caracteres nuevos en función de la lista de caracteres proporcionada por el usuario.
Por ejemplo, considere el siguiente ejemplo de coma separada a espacio separado de entrada:
java,ruby,python,c
Para convertir esta entrada, necesitamos usar el comando tr y proporcionar la lista de caracteres separados por comas:
$ echo "java,ruby,python,c" | tr ", " " "
Esto producirá la siguiente salida:
java ruby python c
Como se puede ver, el comando tr ha reemplazado cada coma por un espacio. Esto es un ejemplo básico de la forma en que el comando tr puede sustituir los caracteres. También se puede usar para capitalizar cada letra de una cadena.
Uso de rangos y tokens
El comando tr no solo puede reemplazar caracteres individuales, también puede usar los rangos y los tokens. Esto significa que el comando tr puede reemplazar todos los caracteres que estén dentro de un rango especificado.
Por ejemplo, considere el siguiente ejemplo de entrada, que contiene letras minúsculas entre A-M.
bcdefghijklm
Para convertir el texto a mayúsculas, podemos usar el siguiente comando:
$ echo "bcdefghijkml" | tr “[a-m]” “[A-M]”
Esto generará la siguiente salida:
BCDEFGHIJKLM
Como se puede ver, el comando tr ha reemplazado cada letra minúscula con la versión en mayúsculas del mismo.
Por otro lado, también podemos usar los tokens para acceder a un grupo específico de caracteres. Por ejemplo, podemos usar los tokens [abc] si solo queremos reemplazar las letras a, b y c con sus versiones en mayúsculas. Esto resultará en la siguiente salida:
BCdefghijkml
Eliminación y compresión de caracteres
Además de sustituir cadenas, el comando tr también puede usarse para eliminar y comprimir caracteres de la entrada. Esto significa que el comando tr puede eliminar caracteres específicos o un frente de caracteres.
Por ejemplo, si queremos eliminar todos los espacios de una entrada de texto, simplemente necesitamos usar el comando tr “-d” para especificar que queremos eliminar los caracteres:
$ echo "java ruby python c" | tr -d " "
Esto generará la siguiente salida:
javarubypythonc
De esta forma, todos los espacios se han eliminado. El comando tr también puede usarse para comprimir caracteres y cadenas que se encuentren uno al lado del otro. Esto se logra especificando los caracteres que queremos comprimir con el comando “-s”:
$ echo «java ruby python c» | tr -s » «
Esto producirá la siguiente salida:
java ruby python c
Como se puede ver, el comando tr ha comprimido la entrada eliminando todos los espacios redundantes.
Combinar y dividir líneas
Además de todas las características de sustitución y eliminación mencionadas anteriormente, el comando tr también puede usarse para combinar y dividir líneas. Esto significa que el comando permitirá a los usuarios combinar varias líneas de entrada en una sola línea y, por el contrario, también permitirá a los usuarios dividir una línea en varias.
Por ejemplo, para combinar varias líneas de entrada en una sola línea, solo necesitamos usar el comando “-s” y añadirle un retorno de carro (\ .):
$echo -e "java\nruby\npython\nc" | tr -s "\n"
Esto producirá la siguiente salida:
java ruby python c
En el mismo estilo, el comando tr también permitirá a los usuarios dividir una línea en varias. Para ello, solo necesitamos usar el comando “-s” y añadir la cadena de caracteres de separación deseada:
$echo "javarubypythonc" | tr -s " " "\n"
Esto generará la siguiente salida:
java
ruby
python
c
Como se puede ver, el comando tr ha separado la cadena en cuatro líneas. Esto es útil para convertir cadenas largas en un formato legible.
En este artículo, hemos aprendido acerca del comando tr y sus diversas funciones. Hemos visto cómo usar este comando para traducir, eliminar y comprimir caracteres.
Esperamos que esta guía le haya ayudado a aprender a usar el comando tr de Linux para manipular cadenas y líneas de texto.