Точное выражение регулярного выражения для числа с плавающей запятой не работает, и оно выполняет как целое число, так и число с плавающей запятой. Оно не должно работать, если заданный ввод не имеет десятичной запятой. Пожалуйста, помогите мне
#!/bin/bash
echo "Enter version code"
read versionName
if ! [[ "$versionName" =~ ^[+-]?[0-9]+\.?[0-9]*$ ]]; then
echo "Sorry decimal numbers only"
echo "$versionName"
else
sudo sed 's/\(versionName[[:space:]]*\)"[0-9.]*"/\1"'"${versionName}"'"/' test.txt
fi