bash를 사용하면 변수 값이 정규식과 일치하는지 확인할 수 있습니다. 그러나, 나는 일치하는 부분을 반환하는 방법을 찾을 수 없습니다. 이것이 가능한가?bash에서 정규식 일치가 반환됩니다.
예를 들어 $test
을 test="123456-name-goes-here.1.2.3-something.zip"
으로 가져 오십시오. 반환 할 부분은 1.2.3-something
입니다.
아래 코드를 사용하면 $test
과 성공적으로 일치 할 수 있지만 여기에서 어디로 가야할지 잘 모릅니다.
[[ $test =~ ([0-9]\.[0-9](\.[0-9])?(\.[0-9])?)(-[a-z-]*)? ]] && echo "matched"
Bash의 문서에서'$ BASH_REMATCH' 변수를 찾으십시오. – Biffen
빙고, 그 트릭을 않습니다. –