Estoy tratando de hacer coincidir múltiples valores alfanuméricos (este número podría variar) de una cadena y guardarlos en una matriz de grupo de captura bash. Sin embargo, solo estoy obteniendo el primer partido:
mystring1='<link rel="self" href="/unix//api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/unix//api/clouds/1/instances/2AAAAAAA"/>'
regex='/instances/([A-Z0-9]+)'
[[ $mystring1 =~ $regex ]]
echo ${BASH_REMATCH[1]}
1BBBBBB
echo ${BASH_REMATCH[2]}
Como puede ver, coincide con el primer valor que estoy buscando, pero no con el segundo.
Probablemente valga la pena mencionar el famoso No puedes analizar HTML con la publicación de expresiones regulares .
—
Trauma digital
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
?