Eliminar la coincidencia de subcadena más corta de una cadena en bash - Electronik-Pro, Informatica, Noticas,Wordpress,Facebook,Hacking,Programas,Hosting,Dominios

Cuando utilizamos un signo dólar seguido de un nombre de variable en Bash, el shell sustituye el nombre de la variable por su valor. A esta característica se le llama expansión de parámetros.

La expansión de parámetros, nos permite manipular cadenas. En este post vamos a ver cómo eliminar la subcadena más corta en una cadena.

Para eliminar la coincidencia de subcadena más corta buscando desde el principio de una cadena, utilizaremos lo siguiente:
${cadena#subcadena}
Para eliminar la coindencia de subcadena más corta buscando desde el final de una cadena, utilizaremos lo siguiente:
${cadena%subcadena}

Un ejemplo: Supongamos que tengo una variable con el siguiente valor:
impresora="EPSON-EPL5900-1234"
Y esta variable representa el nombre de la impresora: "EPSON-EPL5900" junto con el número de trabajo en el spool "1234".

Si quisiera quedarme con el valor "EPL5900-1234" eliminando "EPSON", podría hacerlo de la siguiente manera:
# echo ${impresora#*-}

EPL5900-1234

Y si lo que quisiera fuera quedarme tan sólo con el nombre de la impresora "EPL5900-1234" eliminando "EPSON", podría hacerlo de la siguiente manera:
# echo ${impresora%-*}

EPSON-EPL5900
Es algo realmente sencillo y potente a la vez.
Publicado por primera vez en http://enavas.blogspot.com.es

0 comentarios:

Publicar un comentario

 
Top