"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:]]+)$'