J'essaie de faire correspondre plusieurs valeurs alphanumériques (ce nombre peut varier) à partir d'une chaîne et de les enregistrer dans un tableau de groupe de capture bash. Cependant, je n'obtiens que le premier match:
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]}
Comme vous pouvez le voir, cela correspond à la première valeur que je recherche, mais pas à la seconde.
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
?