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

[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
> 
> 
> 
> 
>  
> 
> 
> 



reply via email to

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