echo "scale=3;1/8" | bc
mostra .125na tela. Como mostrar 0.125se o resultado da saída é menor que um?
echo "scale=3;1/8" | bc
mostra .125na tela. Como mostrar 0.125se o resultado da saída é menor que um?
Respostas:
Você pode entrar no awk
echo "scale=3;1/8" | bc | awk '{printf "%.3f\n", $0}'
ou você pode simplesmente usar o awk para tudo
awk '{printf "%.3f\n", 1/8}' <<< ""
0.125
<<< ""?
here string. Então, basicamente finge não há um arquivo vazio no final, caso contrário, o awk irá ler a partir de informações stdin.More aqui
BEGINbloco evita esse problema e é portátil.