Bash変数文字列の増加

Bash変数文字列の増加
VERSION="4.0beta12"
NEXT_VERSION=?????

自動リリーススクリプトを作成しながら、現在のバージョンを$ VERSION変数に保存し、次のバージョンを$ NEXT_VERSIONとして計算しようとしています。

ルール:文字列の終わりの整数を増やします。
4.0ベータ12→4.0ベータ13
4.2アルファ9→4.2アルファ10

sed/awk/evalを試しましたが、正しく機能しません。アイデアはありますか?どんなツールでも可能です。

ベストアンサー1

Bash以外には何も必要ありません。

for version in 12.4alpha9 12.4alpha12 12.4alpha-2; do
    echo -n "$version => ";
    [[ "$version" =~ (.*[^0-9])([0-9]+)$ ]] && version="${BASH_REMATCH[1]}$((${BASH_REMATCH[2]} + 1))";
    echo "$version";
done

あなたと実際に関連する唯一の行は、正規表現チェックを含む行です[[。この行は、最後の数字まで続くすべてを記憶し、それを再利用し、次の数字を追加します。

おすすめ記事