Como fazer a operação de ponto flutuante no script de shell

2
29/0.060

Existe alguma maneira de fazer acima da operação flutuante no script de shell. Eu tentei estes

awk '{printf $1/0.060}' <<<29 Funciona bem,

awk '{printf $1/0.060}' <<<$test em que test=29 também funciona bem.

Mas não

awk '{printf $1/$test2}' <<<29 em que test2=0.060 resultante 1 , mas a resposta é 483.333

    
por Veerendra 19.10.2015 / 12:17

1 resposta

2

O problema é que awk expande os parâmetros posicionais da entrada analisada, mas não as variáveis da shell. O que você precisa, portanto, é:

awk '{printf $1/'$test2'}' <<<29

Isso permite que o shell expanda $test2 , mas não $1 .

    
por 19.10.2015 / 12:44