[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Formatação AWK usando CONVFMT
From: |
Fabiano Caixeta Duarte |
Subject: |
Re: [shell-script] Formatação AWK usando CONVFMT |
Date: |
Sat, 19 Apr 2008 19:29:48 -0300 |
User-agent: |
Thunderbird 2.0.0.0 (X11/20070326) |
alugopejr escreveu:
> Bom dia, fiz um script em AWK, o mesmo esta calculando tudo certo,
> passo um arquivo de entrada com 2 colunas, a 1 um número de telefone
> qualquer e a 2 a duração da ligação em minutos, o programa
> simplesmente compara se a linha começa com 3 e calcula como ligação
> fixa, só que o resultado impresso sai como número inteiro, tipo 2 ou
> 7.4, se não for inteiro, a minha dificuldade é formatar para aparecer
> ,00 se for número inteiro ou se for quebrado, 7.4 por exemplo,
> aparecer 7,40, estou pesquisando sobre o comando CONVFMT, mas existe
> pouco material a respeito.
>
> BEGIN {
> Fixo=0
> }
> /^3/ {Fixo=Fixo+$2*0.1}
> END {
> print "Fixo : R$ " Fixo
> }
>
> Ah, outra coisa, se eu quisesse fazer tratamento sobre quantos números
> virão após o 3, por exemplo, 7 números depois do 3, 3XXXXXXX, portanto
> se digitasse 31234567 casaria na regra, já 3123456789 não. Tentei com
> a linha abaixo mas não deu certo.
>
> /^3[0-9]{7}/ {Fixo=Fixo+$2*0.1}
Talvez eu não tenha lido com atenção, mas não entendi direito o que você
quer e nem vi a variável CONVFMT sendo utilizada.
De qualquer forma, a função printf do awk parece te atender.
--
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP