"pingnet"의 마지막 숫자를 캡처하려고 시도하지만 일치하는 항목을 찾을 수 없는 다음 Bash 스크립트가 있습니다. 내 정규식이 올바른지 regex101에서 확인했습니다.
pingnet="pingcount,site=DC,cur=200 total-up=988"
regex='(\d+)$'
if [[ $pingnet =~ $regex ]]
then
echo "YES"
echo "${BASH_REMATCH[1]}"
else
echo "NOT"
echo "${BASH_REMATCH[1]}"
fi
스크립트 실행 결과는 그렇지 않습니다.
답변1
Bash의 정규식 구문은 인식되지 않습니다 \d
.[[:digit:]]
pingnet="pingcount,site=DC,cur=200 total-up=988"
regex='([[:digit:]]+)$'