Formatando a saída numérica no bash para ter exatamente 4 casas decimais

1

Eu tenho um comando que gera um número em um arquivo de log, e não gosto da aparência dele quando o número muda o número de casas decimais, porque isso arruína o alinhamento e faz tudo parecer confuso. Como forçar a saída a ter o mesmo número de casas decimais a cada vez?

ex:

531.125
531.4561
531.3518
531.2

deve ser:

531.1250
531.4561
531.3518
531.2000

Obrigado!

    
por sam 12.11.2017 / 20:31

1 resposta

3

No bash printf é capaz de usar o formato %f

#!/bin/bash
for a in 531.125 531.4561 531.3518 531.2; do
    printf "%8.4f\n" "$a"
done

Executado dá:

531.1250
531.4561
531.3518
531.2000
    
por 12.11.2017 / 20:53