|
From: | Tiago Peczenyj |
Subject: | Re: [shell-script] Somar valores em arquivos diferente |
Date: | Tue, 18 Nov 2014 11:45:07 -0200 |
awk '{x[$1 " " $2 ] += $3}END {for(i in x) {print x[i ], i}}'
este AWK-script tem duas sessões: uma padrão, os primeiros { e } que sera executado a cada linha. e uma sessão END onde sera executado no final.
quando vc faz for( i in x ) vc esta fazendo um "foreach", ou seja, uma iteração sobre todos os indices do array x. fazendo print x[i] vc pega aquele valor, fazendo print i, vc imprime o valor do indice utilizado
arrays em AWK na verdade são hashtables. vc pode usar uma chave qualquer, numeros ou palavras, como indice. AWK não tem "tipo" ( apesar de diferenciar arrays de variaveis comuns, coisa que o Perl depois se inspirou e resolveu adotar sigils $ e @ para diferenciar uma variavel escalar de uma variavel array, e % para um hash ) então podemos brincar.
quando vc faz $1 " " $2 estamos concatenando as strings que encontramos no primeiro campo e no segundo campo com um espaço em branco entre elas. em AWK a intepolação de strings ocorre quando vc simplesmente coloca as variaveis uma depois da outra. troque o " " por um "-" e veja o que acontece.
quando vc me disse que queria fazer
A B C
A B C
A B C
A B C
algo comoA B C+C+C+C
eu identifiquei que vc queria fazer algo como
|
Tiago, chegou no resultado, mas está imprimindo a soma no primeiro campo,ai pra colocar em ordem fica mais complicado, mas ai dá pra ir mexendo também.Além do mais, tenho que dar uma boa lido no que está sendo feito para entendermelhor.o retorno ficou assim:2 2014-11-16 06:154 2014-11-15 17:051 2014-11-17 03:452 2014-11-16 14:35Em 17/11/2014, à(s) 18:47, Tiago Peczenyj address@hidden [shell-script] <address@hidden> escreveu:putz... agora eu percebi que a chave tem 2 campos... faça isso e testeawk '{ x[$1 " " $2 ] += $3 } END { for(i in x) { print x[i ], i } }'
--
[Prev in Thread] Current Thread [Next in Thread]
- Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Peczenyj, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Peczenyj, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Peczenyj, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/18
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Peczenyj <=
Re: [shell-script] Somar valores em arquivos diferente, Adolfo Verçosa, 2014/11/17 Re: [shell-script] Somar valores em arquivos diferente, MrBiTs, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, MrBiTs, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, MrBiTs, 2014/11/17
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/18
- Re: [shell-script] Somar valores em arquivos diferente, MrBiTs, 2014/11/18
- Re: [shell-script] Somar valores em arquivos diferente, Tiago Ribeiro, 2014/11/18
Re: [shell-script] Somar valores em arquivos diferente, Julio C. Neves, 2014/11/17
- Prev by Date: Re: [shell-script] Somar valores em arquivos diferente
- Next by Date: Re: [shell-script] Somar valores em arquivos diferente
- Previous by thread: Re: [shell-script] Somar valores em arquivos diferente
- Next by thread: Re: [shell-script] Somar valores em arquivos diferente
- Index(es):