echo "scale=3;1/8" | bc
mostra .125
na tela. Como mostrar 0.125
se o resultado da saída é menor que um?
echo "scale=3;1/8" | bc
mostra .125
na tela. Como mostrar 0.125
se 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
BEGIN
bloco evita esse problema e é portátil.