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