Como os mostré esta mañana, es muy fácil eliminar la coincidencia de subcadena más corta de una cadena en bash. Puesto que es igual de sencillo, en este post vamos a ver cómo eliminar la subcadena más larga en una cadena.
Para eliminar la coincidencia de subcadena más larga buscando desde el principio de una cadena, utilizaremos la siguiente sintaxis:
${cadena##subcadena}
Así mismo, para eliminar la coindencia de subcadena más larga buscando desde el final de una cadena, utilizaremos lo siguiente:
${cadena%%subcadena}
Siguiendo con el ejemplo del anterior post: 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 tan sólo con el identificador del trabajo "1234" eliminando "EPSON-EPL5900", podría hacerlo de la siguiente manera:
# echo ${impresora##*-}
1234
Y si lo que quisiera fuera quedarme tan sólo con la marca de la impresora "EPSON" eliminando "EPL5900-1234", podría hacerlo de la siguiente manera:
# echo ${impresora%%-*}
EPSON
Publicado por primera vez en http://enavas.blogspot.com.es
0 comentarios:
Publicar un comentario