[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Dúvida awk
From: |
Humberto Pereira |
Subject: |
Re: [shell-script] Dúvida awk |
Date: |
Mon, 31 Oct 2005 14:11:25 -0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Debian/1.7.12-0ubuntu05.04 |
Caso voce tenha + de um usuario no arquivo faca com vetores associativos
awk ' {
if(vet[$1]) {
vet[$1] += $3
} else {
vet[$1] = $3
}
}
END {
for(name in vet) {
print name " " vet[name]
}
} ' a.txt
[]s
Humberto Pereira
Tiago Barcellos Peczenyj wrote:
> awk '{total+=$3} END{print $1 " " total}' arquivo
>
> vai imprimir o primeiro campo da ultima linha ;-)
>
> Em 31/10/05, Mauricy Maiorino <address@hidden> escreveu:
>
>> Pessoal
>>
>>Com o exemplo do Tiago, no arquivo abaixo estou somando o terceiro campo:
>>
>>
>>Arquivo de entrada:
>>
>>deise 09000000000000 24 ifch
>>deise 09000000000000 24 ifch
>>deise 09000000000000 46 ifch
>>
>>Uso o comando cat arquivo | awk '{total+=$3} END{print total}'
>>
>>e obtenho o total que é 94
>>
>>O que preciso agora é que nesta mesma linha tenha também o primeiro
>>campo, desta forma:
>>
>>deise 94
>>
>>...pois tenho vários arquivos onde preciso de uma listagem resumida por
>>usuario. Tentei colocar na mesma linha com o awk mesmo, mas está dando
>>erro de sintaxe, ou ele repete a saida desta forma:
>>
>>deise 94
>>deise 94
>>deise 94
>>
>>
>>
>>Alguém tem alguma idéia??
>>
>>Obrigado
>>
>>Mauricy
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>>Esta lista não admite a abordagem de outras liguagens de programação, como
>>perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
>>aviso.
>>---------------------------------------------------------------------
>>Sair da lista: address@hidden
>>---------------------------------------------------------------------
>>Esta lista é moderada de acordo com o previsto em
>>http://www.listas-discussao.cjb.net
>>---------------------------------------------------------------------
>>
>>
>>
>> *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
>><http://br.rd.yahoo.com/SIG=12f9p1lss/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1130781523/A=2950750/R=2/id=noscript/SIG=10tift5qr/*http://br.movies.yahoo.com/>
>>------------------------------
>>*Links do Yahoo! Grupos*
>>
>> - Para visitar o site do seu grupo na web, acesse:
>> http://br.groups.yahoo.com/group/shell-script/
>> - Para sair deste grupo, envie um e-mail para:
>> address@hidden<address@hidden?subject=Unsubscribe>
>> - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>>
>>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>