Thursday, January 27, 2011

El uso del comando tr

Saludos estimados lectores, el día de hoy quiero presentarles como se usa el comando tr, el cual es un comando poco conocido pero puede sernos muy útil y ahorrarnos unas horas de trabajo, básicamente si le damos al comando tr un flujo de datos nos permitirá modificarlo, borrarlo, sustituirlo, etc.

Su sintaxis es la siguiente:

tr [OPCION] A B

Algunas opciones son las siguientes:


-d: Borrar los carácteres indicados en A
-s: Elimina o reemplaza los carácteres repetidos indicados en A
-c: Todos los carácteres que no sean los indicados en A los convierte en B



Para empezar vamos a realizar una simple sustitución, en este ejemplo sustituiremos las mayúsculas por las minúsculas:

echo PRUEBA | tr AEIOU aeiou

Y esto nos lanzara como resultado:

PRueBa

También podemos eliminar los caracteres deseados, para ello no necesitaremos de B:

echo PRUEBA | tr -d UA

Nos lanzara:

PREB

Otro ejemplo para eliminar seria borrar los espacios en blanco de alguna oración:

echo "esto es una oracion" | tr -d " " 

Nos lanzara:

estoesunaoracion

También podemos usar la opción -s como dije anteriormente para eliminar caracteres repetidos por ejemplo:

echo "((ejemplo)" | tr -s "("

Y esto nos lanzara:

(ejemplo)

Y por ultimo la opción -c nos permite sustituir elementos que no estén especificados por ejemplo:

echo PRUEBA | tr -c "P" "*"

Nos lanzara:

P*****

También tr permite otras cosas avanzadas como lo son el uso de "caracteres no visibles" y "rangos de caracteres".

Los caracteres no visibles son los siguientes:


 \NNN            carácter con valor octal NNN (de uno a tres dígitos)
  \\              barra invertida
  \a              pitido audible (BEL)
  \b              espacio hacia atrás
  \f              salto de página
  \n              salto de línea
  \r              retorno de carro
  \t              tabulación horizontal
  \v              tabulación vertical

Guiándonos de esta tabla de caracteres no visibles podemos por ejemplo sustituir la cadena "ramphis che ureña punto libre blog" en una lista de palabras, por ejemplo:

echo "ramphis che ureña punto libre blog" | tr " " "\n"


El cual nos lanzaría:

ramphis
che
ureña
punto
libre
blog

Así mismo podemos sustituir la tabulacion del comando ls por un salto de linea:

ls | tr "\t" "\n"

Prueba ejecutando el comando sin tr y luego con tr y veras la diferencia, otra cosa es el uso de rango de caracteres por ejemplo:

echo ramphis | tr "a-z" "A-Z"

Nos lanzara RAMPHIS, osea que cambio las minúsculas por las mayúsculas, también podemos usar rango de números "1-9", esto es todo por hoy, espero que les haya gustado la guía y que les sirva de algo en sus labores diarias, hasta la próxima.

Basada en la guia de banyut.obolog.com

0 comentarios:

Post a Comment