Ich versuche, mehrere alphanumerische Werte (diese Zahl kann variieren) von einer Zeichenfolge abzugleichen und sie in einem Bash-Capture-Gruppenarray zu speichern. Ich bekomme jedoch nur das erste 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]}
Wie Sie sehen, stimmt es mit dem ersten Wert überein, den ich suche, aber nicht mit dem zweiten.
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
durchlaufen?