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

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

Re: [shell-script] awk e soma com ponto flutuante


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] awk e soma com ponto flutuante
Date: Tue, 26 Jun 2007 15:54:27 -0300

awk: usando virgula no lugar do ponto decimal

$ cat arquivo
1,2
1,3
1,4
1,5
1,6

$ awk 'NR > 1{total += $1}END{print total}' arquivo
4

# agora vamos mudar o locale!

$ LC_ALL=pt_BR awk 'NR > 1{total += $1}END{print total}' arquivo
5,8

Simples :)

On 6/25/07, Tiago Barcellos Peczenyj <address@hidden> wrote:
>
> Vejamos...
>
> $ awk 'NR>1 {SOMA+=$4 } END { print "Soma: ",SOMA }' arquivo
>
> Soma: 11.30
>
> $ cat arquivo
> 1 2 3 4.4
> 1 2 3 5.5
> 2 3 4 5.8
>
> Agora, se ao inves de ponto decimal vc tiver virgula... ai pode estar o
> problema.
>
> Uma solucao 'rapida' seria trocar a virgula por ponto com tr
>
> outra seria acertar o localle, porem não imagino como fazer isso neste
> momento.
>
>
> On 6/25/07, address@hidden <address@hidden> wrote:
> >
> >   Olá pessoal,
> >
> > Tenho uma tabela com números em ponto flutuante na coluna 4. Necessito
> > somar estes números e para isto tentei com o awk
> >
> > cat arquivo | awk '{ if (NR>1) SOMA+=$4 } END { print SOMA }'
> >
> > A soma deve ser feita a partir da segunda linha. O problema é que o SOMA
> > é um inteiro. Tem alguma forma de fazer isto com o awk?
> >
> > Até
> > Alves
> >  
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/




-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


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



reply via email to

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