在 bash 中滚动数字增量

在 bash 中滚动数字增量

我有一个代表一种版本的字符串。我想增加它,如果第二部分超过 9 则转到下一个更高的数字以下似乎可行。我想知道是否有更简洁的方法来做到这一点

FIRST=$(echo -n "$VERSION"| cut -d "." -f 1)  
SECOND=$(echo -n "$VERSION"|cut -d "." -f 2)  
SECOND=$((SECOND + 1))  
if [[ $SECOND -ge 10 ]]; then  
    SECOND="0"  

fi  
FIRST=$(($FIRST + 1))

NEW_NUMBER=$FIRST.$SECOND  

例子:

Input: 102.8 Output: 102.9     
Input: 102.9 Output: 103.0  

答案1

printf '%s + 0.1\n' "$VERSION" | bc

这会给 中的浮点数加 0.1 $VERSION

测试:

$ VERSION=10.2
$ printf '%s + 0.1\n' "$VERSION" | bc
10.3

$ VERSION=10.9
$ printf '%s + 0.1\n' "$VERSION" | bc
11.0

相关内容