systemadmin.es > Utilidades > Uso de tr: Herramientas UNIX (IX)

Uso de tr: Herramientas UNIX (IX)

tr permite la traducción entre grupos de carácteres por linea de comandos. Un caso concreto muy típico es la conversión entre mayúsculas y minúsculas

Pero este comando no se limita a esto, podemos definir conjuntos personalizados. Por ejemplo, si queremos convertir las vocales según la siguiente tabla:

a -> 9
e -> 3
i -> 1
o -> 0
u -> V

Indicamos al comando tr, en orden, la primera fila y la segunda formando dos conjuntos:

# echo "ParaGenerarContrasenyas" | tr aeiou 9310V
P9r9G3n3r9rC0ntr9s3ny9s

O bien se pueden usar los conjuntos ya definidos, entre otros:

  • [:space:]: Conjunto de espacios, ya sea separación entre lineas como entre palabras:
    # echo "ejemplo
    con
    lineas de separacion" | tr [:space:] ' '
    ejemplo con  lineas de separacion 
    
  • [:upper:] y [:lower:]: Para indicar las mayúsculas (upper) y minúsculas (lower):
    # echo "eJeMpLo" | tr [:upper:] [:lower:]
    ejemplo
    # echo "eJeMpLo" | tr [:lower:] [:upper:]
    EJEMPLO
    
  • [:punct:]: Incluye los símbolos de puntuación:
    # echo "ejemplo.para:traducir_simbolos;de,puntuacion-a·espacios" | tr [:punct:] ' '
    ejemplo para traducir simbolos de puntuacion a espacios
    
  • Conjunto de digitos [:digit:], el conjunto de letras [:alpha:] o el conjunto de letras y números [:alnum:]:
    # echo "33(gatos/con\botas)" | tr -d [:alnum:]
    (/\)
    

También se puede usar para eliminar un conjunto con el parámetro -d, por ejemplo:

# echo "ejemplo
con
lineas de separacion" | tr [:space:] -d
ejemplodconddlineasddedseparaciond

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>