문자열에서 여러 영숫자 값 (이 숫자는 다를 수 있음)을 일치시키고 bash 캡처 그룹 배열에 저장하려고합니다. 그러나 첫 번째 경기 만 받고 있습니다.
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]}
보시다시피 그것은 내가 찾고있는 첫 번째 값과 일치하지만 두 번째 값과는 일치하지 않습니다.
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
하십니까?