O especificador de largura é para todos os caracteres, incluindo o ponto decimal e a fração. Seus números já têm pelo menos 5 caracteres, então ...
$ printf "%8.2f\n" 32.55
32.55
Meu script é:
#!/bin/bash
num1=32.55
num2=145.958
printf "%5.2f\n" $num1
printf "%5.2f\n" $num2
A saída é:
32.55
145.96
Em vez de:
32.55
145.96
O que está acontecendo? Se for alguma ajuda, estou usando o Fedora 27 Beta com Linux Kernel 4.13.8-300.fc27.x86_64
O especificador de largura é para todos os caracteres, incluindo o ponto decimal e a fração. Seus números já têm pelo menos 5 caracteres, então ...
$ printf "%8.2f\n" 32.55
32.55
Tags bash text-formatting printf