O problema com o primeiro exemplo é que bash
pode operar somente em inteiros e sua segunda tentativa com awk
simplesmente não está correta.
Eu proponho usar bc
para este trabalho:
bc <<< "$new-$old"
<<<
é assim chamado aqui string , e é basicamente a forma mais curta echo "$new-$old" | bc
.
Você também pode modificar seu comando awk
se quiser:
echo "$new $old" | awk '{print $1-$2}'
ou (usando aqui string como acima):
awk '{print $1-$2}' <<< "$new $old"