patrón exacto con la herramienta bash

patrón exacto con la herramienta bash

(a) 0.2.0-123-g9e17591

(b) 0.2.0-g9e17591

  1. ¿Cómo obtener 0.2.0-123 y 0.2.0 respectivamente?
  2. Cómo extraer los números 0 y 123 de "0.2.0-123-g9e17591" y 2 y 0 de "0.2.0-g9e17591"

Respuesta1

Podrías usar

$ IFS='-' read -ra PARTS <<< 0.2.0-123-g9e17591
$ echo ${PARTS[*]}

para dividir la cadena en una matriz PARTS, -como separador de campo, y luego verificar los resultados.

Entonces podrías proceder de manera similar con el primer elemento de la matriz.PARTS

$ IFS='.' read -ra PARTS2 <<< ${PARTS[0]}
$ echo ${PARTS2[*]}

Repita la operación según sea necesario.

Fuentes

  1. https://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash
  2. http://www.masteringunixshell.net/qa3/bash-how-to-echo-array.html
  3. https://stackoverflow.com/questions/15685736/how-to-extract-a-particular-element-from-an-array-in-bash

información relacionada