Inicio > Procesamiento y búsqueda de texto > tr

tr: Filtro para transformar y eliminar caracteres

El comando `tr` es un comando de filtro utilizado para transformar o eliminar caracteres de texto recibido a través de la entrada estándar (stdin). Es especialmente útil cuando se usa junto con pipes (|) para procesar la salida de otros comandos.

Resumen

tr (translate), como su nombre indica, sirve para 'traducir' o 'reemplazar' caracteres. Por ejemplo, está especializado en tareas sencillas de transformación a nivel de caracteres, como cambiar minúsculas a mayúsculas, un carácter específico por otro, o un salto de línea por un espacio. A diferencia de `sed` o `awk`, que admiten coincidencias de patrones complejas a nivel de línea, `tr` es muy rápido y eficiente para el procesamiento a nivel de carácter.

Características clave

Las principales características del comando `tr` son las siguientes:

  • Transforma o elimina texto carácter por carácter.
  • Recibe datos solo a través de la entrada estándar (stdin).
  • No utiliza expresiones regulares.
  • Ampliamente utilizado con pipes (`|`) para procesar la salida de otros comandos.

Sintaxis básica de tr

El comando `tr` toma básicamente dos cadenas (conjuntos) como argumentos.

  • `tr 'set1' 'set2'`: Transforma los caracteres en `set1` a los caracteres correspondientes en `set2` en una relación 1:1.
  • `tr -d 'set1'`: Elimina todos los caracteres que se encuentran en `set1`.

Opciones principales

Hemos agrupado las opciones de uso frecuente del comando `tr` según su propósito.

1) Opciones de función

2) Caracteres especiales y conjuntos

Comando generado:

Combina los comandos.

Descripción:

`tr` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Explore las diversas formas de usar el comando `tr` con estos ejemplos.

Convertir minúsculas a mayúsculas

echo 'hello world' | tr '[:lower:]' '[:upper:]'

Convierte las letras minúsculas recibidas por la entrada estándar a mayúsculas y las imprime.

Eliminar caracteres específicos

echo 'hello   world' | tr -d ' '

Elimina todos los espacios (` `) del texto.

Convertir saltos de línea a espacios

cat file.txt | tr '\n' ' '

Convierte los caracteres de salto de línea (`\n`) del contenido de un archivo a espacios (` `) y los imprime en una sola línea.

Comprimir espacios duplicados

echo 'hello     world' | tr -s ' '

Comprime secuencias consecutivas de espacios en un solo espacio. La opción `-s` realiza la función de compresión de cadenas duplicadas.

Convertir mayúsculas a minúsculas

echo 'HELLO WORLD' | tr 'A-Z' 'a-z'

Convierte las letras mayúsculas recibidas por la entrada estándar a minúsculas y las imprime.

Consejos y precauciones

Aquí se resumen los puntos a tener en cuenta al usar el comando `tr`.

Consejos

  • `tr` no acepta nombres de archivo directamente como argumentos. Siempre debe pasar el texto a través de la entrada estándar utilizando comandos como `cat` o `echo`.
  • Es recomendable usar comillas simples (`'`) al pasar cadenas como argumentos para evitar que el shell interprete caracteres especiales.
  • `tr` es más simple en funcionalidad que `sed` o `awk`, pero tiene la ventaja de ser mucho más rápido para tareas de transformación a nivel de carácter.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría