[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] "Group By" / Totalizando
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] "Group By" / Totalizando |
Date: |
Sat, 4 Aug 2007 14:31:38 -0300 |
IFS=\;
for Prod in $(head -1 arq.csv)
do
let i++
echo $Prod $(tail +2 arq.csv | cut -f$i | paste -sd+ | bc)
done
Obs: Como os valores estão com vírgula decimal (e não ponto), é provável que
se vc colocar antes do echo um LANG=pt_BR (ou será PT_br?) funcione, caso
negativo, coloque entre o cut e o paste um | tr , \. para trocar as vírgulas
por pontos.
--
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq
Em 04/08/07, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
> podes usar o awk, veja esse exemplo:
>
> $ cat arquivo
> quantidade;produto
> 12;bolacha
> 30;melancia
> 40;bolacha
> 4;amora
>
> $ awk -F \; 'NR > 1{qtd[$2]+=$1} END{for(i in qtd) print i,qtd[i]}'
> arquivo
> amora 4
> bolacha 52
> melancia 30
>
> Agora é só adaptar ao seu problema!
>
> On 8/4/07, jacksonwilliambr <address@hidden<jackson.silva%40cpm.com.br>>
> wrote:
> >
> > Boa tarde,
> >
> > Já fiz algumas pesquisas pela net, mas não consegui achar algo que me
> > ajuda-se a resolver um problema, será que vocês podem me mostrar os
> > caminhos
> > das pedras?
> >
> > Tenho um arquivos csv, que está desta forma.
> >
> > COD_UNB_001;COD_UNB_002;COD_PROD
> > 5,1;2,3;888
> > 7,2;2,1;777
> >
> > Eu preciso fazer com que seja realizado uma varredura produto/unidade
> > (onde
> > o codigo da unidade está junto com o cabeçalho), fazendo tipo
> > um "group by",
> > totalizando-os produtos.
> >
> > Será que alguém poderia me dar uma luz.
> >
> > Obrigado
> >
> > Jackson William
> >
> >
> >
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq
[As partes desta mensagem que não continham texto foram removidas]