Estoy intentando comparar dos flotadores en bash y algo va mal. Aquí está el ejemplo de código basado en la solución.aquí
num1=0.502E-01
num2=0.01
echo $num1'>'$num2 | bc -l
echo $num2'>'$num1 | bc -l
Espero el resultado 1
del primer eco y 0
del segundo eco, pero en lugar de eso obtengo 0
el primero y 1
el segundo. ¿Qué hay de malo en esta entrada? ¿Cómo conseguir una comparación coherente de estos flotadores?
Respuesta1
awk
ciertamente puede hacer comparaciones flotantes si se llama desde su script de shell.
num1=0.502E-01
num2=0.01
awk -v a="$num1" -v b="$num2" 'BEGIN{print(a>b)}'
1
awk -v a="$num1" -v b="$num2" 'BEGIN{print(b>a)}'
0