GNU/Linux >> Tutoriales Linux >  >> Linux

Comando tr de Linux con ejemplos

Introducción

El tr command es una utilidad de línea de comandos de Linux que traduce o elimina caracteres de la entrada estándar (stdin ) y escribe el resultado en la salida estándar (stdout ). Usa tr para realizar diferentes transformaciones de texto, incluida la conversión de mayúsculas y minúsculas, la compresión o eliminación de caracteres y el reemplazo básico de texto.

Desde tr no puede leer un archivo directamente y genera los resultados en una salida estándar, a menudo se usa con canalizaciones (| ) y redirecciones (>> ) para permitir un procesamiento de contenido de archivo más complejo.

En este tutorial, aprenderá a usar Linux tr comando.

Requisitos previos

  • Un sistema que ejecuta Linux.
  • Acceso a la terminal (Ctrl + Alternativo + T ).

Sintaxis del comando tr de Linux

El tr básico la sintaxis del comando es:

tr [options] SET1 [SET2]

Opciones

Corriendo tr sin ninguna opción reemplaza cada uno de los caracteres especificados en SET1 con los caracteres de SET2 que tienen la misma posición.

Por ejemplo:

En el ejemplo anterior, la salida del comando echo se canaliza al tr comando, reemplazando cada instancia de e con o .

ESTABLECER

SET s son cadenas de caracteres. El comando acepta las siguientes secuencias interpretadas para la coincidencia de caracteres:

Secuencia Interpretación
\NNN Personajes con el NNN valor octal (1 a 3 dígitos octales).
\\ barra invertida.
\a Un carácter de campana audible.
\b Retroceso.
\f Fuente de formulario.
\n Carácter de nueva línea.
\r Carácter de retorno.
\t Pestaña horizontal.
\v Pestaña vertical.
CHAR1-CHAR2 Todos los caracteres desde CHAR1 a CHAR2 en orden ascendente.
[CHAR*] Copias CHAR* en SET2 hasta la longitud de SET1 .
[CHAR*REPEAT] Repite copias de CHAR . Repite octal si comienza con 0.
[:alnum:] Todas las letras y dígitos.
[:alpha:] Todas las letras.
[:blank:] Espacios en blanco horizontales.
[:cntrl:] Todos los caracteres de control.
[:digit:] Todos los dígitos.
[:graph:] Caracteres imprimibles, excluyendo espacios.
[:lower:] Todos los caracteres en minúscula.
[:print:] Caracteres imprimibles, incluido el espacio.
[:punct:] Todos los caracteres de puntuación.
[:space:] Caracteres de espacio en blanco horizontales o verticales.
[:upper:] Todas las letras mayúsculas.
[:xdigit:] Dígitos hexadecimales.
[=CHAR=] Todos los caracteres equivalen a CHAR .

Nota: Otro gran editor de flujo de texto de Unix es SED. La herramienta le permite buscar, reemplazar, agregar y eliminar líneas en un archivo de texto sin abrirlo en un editor de texto.

Opciones de comando Linux tr

Las opciones proporcionan acciones adicionales de transformación de personajes. Las opciones disponibles son:

Opción Descripción
-C Complementa los caracteres en SET1 , incluidos todos los caracteres de la salida excepto los especificados.
-c Complementa los valores en SET1 . Las operaciones se aplican a caracteres que no están en el conjunto dado.
-d Elimina caracteres del SET1  entrada.
-s Exprime los caracteres repetidos especificados en el último operando (ya sea SET1 o SET2 ) y los reemplaza con una sola aparición de ese carácter.
-t Trunca SET1 hasta la longitud de SET2 .
-u Asegura que cualquier salida no esté almacenada en búfer.
--help Muestra el archivo de ayuda con todas las opciones disponibles.
--version Muestra la información de la versión del programa.

Ejemplos de Linux tr

A continuación se muestran ejemplos del uso del tr comando con diferentes opciones para transformar el texto de entrada.

Cambiar mayúsculas y minúsculas

Hay tres formas de cambiar mayúsculas y minúsculas con tr :

1. Especifique los caracteres exactos que desea convertir

Especifique qué caracteres de la entrada desea convertir. Esta opción cambia las mayúsculas y minúsculas o los caracteres completos, reemplazando los de SET1 con los de SET2 .

Por ejemplo:

2. Especifique el rango de caracteres para la conversión

Especificar un rango permite tr para cambiar el caso de cualquier carácter dentro de ese rango especificado. El siguiente ejemplo muestra cómo convertir caracteres en mayúsculas a minúsculas:

Presiona CTRL+C para salir del modo de entrada.

3. Especificar secuencias interpretadas

Haga coincidir y convierta caracteres especificando secuencias interpretadas. Por ejemplo, la secuencia de caracteres en minúsculas es [:lower:] y la secuencia de caracteres en mayúsculas es [:upper:] . Especificar las dos secuencias instruye a tr para hacer coincidir y convertir el caso del carácter:

El ejemplo anterior muestra cómo tr convierte los caracteres en mayúsculas a minúsculas.

Eliminar caracteres repetidos

El -s La opción comprime los caracteres repetidos en una sola instancia de ese carácter. La opción es especialmente útil cuando se convierten espacios en blanco en tabuladores o caracteres de nueva línea, y el texto de entrada contiene varios espacios en blanco continuos.

Por ejemplo, la siguiente entrada contiene varios caracteres de espacio en blanco. Convertirlos en pestañas sin apretar proporciona el siguiente resultado:

Para evitar varias pestañas y espacios en blanco en la salida, especifique el -s opción:

Eliminar caracteres

Elimina caracteres específicos usando el -d opción. En el siguiente ejemplo, tr elimina cada instancia de e carácter:

Opcionalmente, especifique un grupo de caracteres usando secuencias interpretadas. Por ejemplo, elimine todos los dígitos especificando el [:digit:] secuencia:

Conjuntos complementarios

Usa el -c opción para complementar los caracteres en SET1 . En el siguiente ejemplo, eliminamos todos los caracteres excepto los dígitos:

Se eliminan todos los caracteres que no están en el conjunto especificado (en este caso, todo excepto los dígitos).

Eliminar caracteres de nueva línea

Reduzca el espacio que ocupa un texto convirtiendo los caracteres de nueva línea en espacios. El contenido aparece entonces en una sola línea.

En el siguiente ejemplo, usamos el comando cat para abrir un archivo de texto y canalizarlo a tr para eliminar caracteres de nueva línea:

Redireccionar a tr

Una alternativa a la canalización es usar la redirección para enviar contenido a tr . Además, puede usar la redirección para guardar el tr salida en un archivo.

El siguiente ejemplo muestra cómo eliminar todos los caracteres no imprimibles de un archivo cuyo contenido se redirige a tr :

Conjunto truncado

Por defecto, si SET1 es más largo que SET2 , tr reutiliza el último carácter de SET2 al procesar la entrada. Por ejemplo:

Desde SET1 es más largo que SET2 , tr reutiliza el último carácter de SET2 , en este caso, 2 .

Usa el -t opción para truncar SET1 hasta la longitud de SET2 :

El -t opción instruye a tr para truncar SET1 hasta la longitud de SET2 y reemplaza solo los dos primeros caracteres.

Eliminar signos diacríticos

Usa el [=CHAR=] secuencia para que coincida con todos los caracteres equivalentes al especificado. Por ejemplo, la secuencia puede identificar y eliminar signos diacríticos de los caracteres.

Imprimir cada palabra por separado

Imprima el contenido de un archivo línea por línea usando el -c opción y reemplace los caracteres no alfanuméricos con un carácter de nueva línea.

Nota: Si prefiere usar Bash, vea cómo leer un archivo línea por línea.

La salida ahora se muestra una palabra a la vez.

Guardar salida en archivo

Desde tr no cambia el contenido de un archivo directamente, tampoco guarda los cambios que realice. Guarde el resultado en un archivo redirigiéndolo como se muestra en el siguiente ejemplo:

Abriendo el nuevo archivo con cat muestra que los cambios se han guardado.

Conclusión

Este tutorial mostró cómo usar el tr comando y sus opciones disponibles para varias transformaciones de texto. Consulte otras utilidades de texto de Linux en nuestras guías para el comando de ordenación y menos el buscapersonas de terminal, o vea los mejores editores de texto de Linux.


Linux
  1. Comando wc Linux con ejemplos

  2. Comando de clasificación de Linux con ejemplos

  3. Comando Linux Tee con ejemplos

  4. Comando de cabeza de Linux con ejemplos

  5. Comando JQ en Linux con ejemplos

Comando de CD de Linux con ejemplos

Comando de vigilancia de Linux con ejemplos

Comando de espera en Linux con ejemplos

Comando de exportación de Linux con ejemplos

Comando de reinicio en Linux con ejemplos

Comando IP de Linux con ejemplos