Búsqueda de sitios web

10 ejemplos de comandos tr en Linux


tr (abreviatura de translate) es una útil utilidad de línea de comandos 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 comando.

Este artículo explicará algunos ejemplos útiles del comando tr para principiantes en Linux.

La sintaxis para ejecutar el comando tr es la siguiente, donde los caracteres de SET1 se traducen a caracteres de SET2.

tr flags [SET1] [SET2]

Ejemplos de comandos tr de Linux

1. Un caso de uso simple del comando tr es 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 linux.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 posterior procesamiento, utilice la función de redirección de salida del shell (>) 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 lo que respecta a la redirección, puede enviar entradas a tr usando la redirección de entrada y redirigir la salida a un archivo usando 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 '' 

linux-console.net
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 '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

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

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

8. A continuación se muestra un ejemplo de cómo dividir una sola línea de palabras (oración) en varias líneas, donde cada palabra aparece por separado.

$ 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 "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

Hay varios caracteres de secuencia que puedes usar con tr; para obtener más información, consulta 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 comando. En esta guía, mostramos algunos ejemplos de uso útiles del comando tr para principiantes en Linux. Puede compartir sus pensamientos con nosotros a través del formulario de comentarios a continuación.