[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Uso de variáveis no awk
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Uso de variáveis no awk |
Date: |
Wed, 2 Jan 2008 11:24:51 -0200 |
Veja a opção -v do awk...
Ele permite que voce sete valore a variaveis do proprio awk ..
$ awk -v A=$A -v B=$B '{printf "%8f", A/B}'
testa ai...
Flávio do Carmo Júnior
On Jan 2, 2008 11:13 AM, Cristiano Ferrari <address@hidden> wrote:
>
>
>
>
>
>
> Salve lista, feliz ano novo!
>
> Colegas, tenho dúvidas à respeito do uso de variáveis com o awk em um
> script.
>
> Por exemplo, eu gostaria de fazer uma conta usando 2 variáveis e
> formatar a saída com a função sprintf(). Supondo que eu não usasse
> variáveis, eu faria assim:
>
> awk 'BEGIN { print sprintf("%.8f", 1/3 ) }'
>
> Entretanto, preciso usar as variáveis A e B, ao invés de 1 e 3, mas se
> eu usar aspas simples para passar o código ao awk, o bash não
> interpreta as variáveis:
>
> $ awk 'BEGIN { print sprintf("%.8f", $A/$B ) }'
> awk: fatal: tentativa de divisão por zero
>
> Se eu usar aspas duplas, a interpretação das várias é correta, mas o
> parâmetro "%.8f" é passado intepretado também:
>
> $ awk "BEGIN { print sprintf("%.8f", $A/$B ) }"
> awk: BEGIN { print sprintf(%.8f, 1/3 ) }
> awk: ^ syntax error
> awk: erro fatal: erro interno
> Abortado
>
> Podem me ajudar a resolver isso?
>
> Abraço
>
> Cristiano Ferrari
>
>