10 ejemplos de comandos tr en Linux


tr (abreviatura de traducir ) es una utilidad de línea de comandos útil que traduce y/o elimina caracteres de la entrada estándar y escribe en la salida estándar. Es un programa útil para manipular texto en la línea de comandos.

En este artículo, explicaremos algunos ejemplos útiles de tr command para los novatos de Linux.

La sintaxis para ejecutar el comando tr es la siguiente, donde los caracteres en SET1 se convierten en caracteres en SET2 .

$ tr flags [SET1] [SET2]

Ejemplos de comandos de Linux tr

1. Un simple comando tr se usa para cambiar todas las letras minúsculas del texto a mayúsculas y viceversa, como se muestra a continuación.

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat domains.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. Alternativamente, puede usar el siguiente comando para cambiar todas las letras minúsculas a mayúsculas en un archivo como se muestra.

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. Para guardar los resultados escritos en stdout en un archivo para su procesamiento posterior, use la función de redirección de salida del shell (& gt;) como se muestra.

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. En cuanto a la redirección, puede enviar entradas a tr utilizando la redirección de entradas y redirigir la salida a un archivo utilizando el mismo comando, como se muestra.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Otra característica útil es que puede usar el indicador -d para eliminar caracteres, por ejemplo, para eliminar los espacios en los nombres de dominio usando el siguiente comando.

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

www.tecmint.com
www.fossmint.com
www.linuxsay.com

6. Si hay caracteres repetidos en una secuencia (por ejemplo, espacios dobles) en el texto que está procesando, puede usar la opción -s para comprimir los caracteres dejando solo Una ocurrencia de ello.

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

www.tecmint.com
www.fossmint.com
www.linuxsay.com

7. La opción -c le dice a tr que use el complemento en el SET . En este ejemplo, queremos eliminar todas las letras y solo dejar el UID .

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Este es un ejemplo de cómo dividir una sola línea de palabras (oración) en varias líneas, donde cada palabra aparece en una línea separada.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. En relación con el ejemplo anterior, también puedes traducir varias líneas de palabras en una sola oración, como se muestra.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. También es posible traducir un solo carácter, por ejemplo, un espacio en un carácter “:” , de la siguiente manera.

$ echo "Tecmint.com =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

Tecmint.com:=>Linux-HowTos,Guides,Tutorials

Hay varios caracteres de secuencia que puede utilizar con tr . Para obtener más información, consulte la página de manual de tr .

$ man tr

¡Eso es todo! tr es un comando útil para manipular texto en la línea de comandos. En esta guía, mostramos algunos ejemplos útiles de uso del comando tr para los principiantes de Linux. Puede compartir sus opiniones con nosotros a través del formulario de comentarios a continuación.