Rolando sobre incremento de número em bash

0

Eu tenho uma string que representa um tipo de versão. Eu gostaria de incrementá-lo e se a segunda parte exceder 9 para ir para o próximo número mais alto O seguinte parece funcionar. Eu queria saber se existe uma maneira mais sucinta de fazer isso

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  

Exemplos:

Input: 102.8 Output: 102.9     
Input: 102.9 Output: 103.0  
    
por Jim 28.03.2018 / 12:17

1 resposta

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

Isso adiciona 0,1 ao número do ponto flutuante em $VERSION .

Teste:

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

$ VERSION=10.9
$ printf '%s + 0.1\n' "$VERSION" | bc
11.0
    
por 28.03.2018 / 12:26