shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Uso de variáveis no awk


From: Julio C. Neves
Subject: Re: [shell-script] Uso de variáveis no awk
Date: Thu, 3 Jan 2008 09:54:56 -0200

Fala Cristiano,
me parece que vc quer usar uma variável do Shell dentro de um programa awk.
Se for isso existem duas formas (que eu conheça!...).
- Expor a variável ao shell para que ele as substitua.
$ awk 'BEGIN { print sprintf("%.8f", '$A'/'$B' ) }'
Repare que eu abri e fechei aspas simples de forma que as 2 variáveis
ficassem expostas ao shell

- Chamando o awk passando as variáveis como parâmetros e internamente ao
programa pegar seus valores com argc e argv.

Abraços,
Julio



Em 02/01/08, Cristiano Ferrari <address@hidden> escreveu:
>
>   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
>
>  
>



-- 
Abraços,
Julio
Feliz Natal
:wq


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]