[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Uso de variáveis no awk
From: |
Henrique |
Subject: |
Re: [shell-script] Uso de variáveis no awk |
Date: |
Wed, 02 Jan 2008 10:34:37 -0300 |
User-agent: |
Thunderbird 2.0.0.6 (X11/20071022) |
Juntando a minha rsposta com a do Flavio junior dá isso.
awk -v A=1 -v B=2 'BEGIN {print sprintf("%.1f", A/B)}'
saída do comando: 0.5
Falow!
Tiago Barcellos Peczenyj escreveu:
>
>
> Tenta assim
>
> $ awk -v a=${var} '{ funcao(a) }'
>
> mas o bash tb tem printf...
>
> On 1/2/08, Cristiano Ferrari <address@hidden
> <mailto:boxferrari%40gmail.com>> 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
>>
>>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/ <http://peczenyj.blogspot.com/>
> "what does not kill us makes us stronger"
>
>