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