echo | awk '{if (10.1 > 10.0) {print "True"} else {print "False"} }'
True
if [ $(echo "10.12 < 10.13"|bc -l) -eq 1 ];then echo "True"; else echo "False"; fi
True
Hoje eu estava tentando comparar dois valores e surpreendi o que vi. Não encontrei nenhuma boa sugestão em lugar algum. Alguém poderia me ajudar?
if [ 10.94 -gt 10 ]
then
echo True
else
echo False
fi
Estou surpreso que o resultado seja falso.
Então eu tentei o seguinte.
if [[ 10.94 > 10 ]]
O resultado veio como True. Eu estava bem com isso.
Mais uma vez, meu roteiro deu uma falha em uma condição específica, como abaixo
if [[ 5.15 > 10 ]]
echo True
fi
Aqui o resultado veio como True.
Como assim? Existe alguma idéia melhor, que irá comparar os valores decimais de forma adequada?
echo | awk '{if (10.1 > 10.0) {print "True"} else {print "False"} }'
True
if [ $(echo "10.12 < 10.13"|bc -l) -eq 1 ];then echo "True"; else echo "False"; fi
True
Tags ksh floating-point