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

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

Re:_[shell-script]_Concatena��o_e_soma


From: moysespr
Subject: Re:_[shell-script]_Concatenação_e_soma
Date: Mon, 28 Jul 2003 12:55:30 -0700 (PDT)

Aproveitando a pergunta do Paulo, talvez a resposta até possa
ajudá-lo, gostaria de ouvir as sugestões:

Supondo que tenho arquivos do tipo abaixo, com muitas linhas e as
linhas mostradas não estão na mesma posição nos arquivos. Os números
mostrados são informação, não são o número das linhas.


-----------log1.txt
461 /lista1.luizao.com.br/logo.gif

-----------log2.txt
424 /lista1.luizao.com.br/logo.gif


1.Como faço para ler log1.txt, linha por linha,da primeira à enésima
linha? Para cada linha pegaria o valor e procuraria a string em um
arquivo de resultado (LOG):
2. se não encontrada faria a inserção da string e do valor em LOG
3. se existisse, somaria o valor existente com o valor vindo de
log1.txt e colocaria o resultado na posição do resultado antigo em
LOG

Se for feita uma substituição de bytes apenas (excelente), não vejo
problema em usar "000789" ou "   789" ao inves de "789" no arquivo
LOG, ou seja, apenas alterando um trecho de bytes, ao inves de
reescritas sucessivas de porções do arquivo. Minhas dúvidas são em 1
e 3.

Imagino que se houver uma solução de contabilização/escrita rápida
fica até viável o zeramento do valor em cada linha de log1.txt
on-line.

Haveria um algoritmo melhor para obter o resultado final desejado?


--- lista-1 <address@hidden> wrote:
> é quase isso...
> 
> na verdade quero os top 200 domínios, mandei apenas um trecho do
> log, mas esse log tem mais de 300 dominios e alem de saber os
> hosts, também os hits nos arquivos.
> 
> 
> paulo henrique
> -----------------------
> echo
> 47875708458009083351029739972407050455790102158921762609658359562P
> | dc
>   ----- Original Message ----- 
>   From: Mateus Caruccio 
>   To: address@hidden 
>   Sent: Monday, July 28, 2003 8:48 AM
>   Subject: Re: [shell-script] Concatenação e soma
> 
> 
>   opa,
> 
>      achei meio confusa sua duvida, mas pelo que entendi, voce quer
> saber quantas vezes o dominio lista1.luizao.com.br foi acessado. Se
> for isso, basta fazer um grep no log e passar a saida pro wc:
> 
>   $ grep lista1.luizao.com.br | wc -l
>      1943
> 
> 
>   []s
> 
>     Mateus Caruccio
> 
>   ----- Original Message -----
>   From: "lista-1" <address@hidden>
>   Date: Fri, 25 Jul 2003 19:12:45 -0300
>   To: <address@hidden>
>   Subject: [shell-script] Concatenação_e_soma
> 
>   > Caros,
>   > 
>   > Tenho 2 webservers que respondem pelos mesmos domínios e os
> logs são
>   > separados.
>   > Na hora de fazer o processamento para ter os top hits, não
> posso concatenar
>   > esses logs e rolo um script que conta separadamente, em
> arquivos diferentes,
>   > no seguinte formato.
>   > 
>   > Consegui resolver isso concatenando, mas fiquei muito curioso
> pois não
>   > consegui fazer o que queria anteriormente.
>   > 
>   > Como fazer para em 2 arquivos separados, como no exemplo
> abaixo, fazer com
>   > que leia e caso encontre 'url' no caso, faça a soma das mesmas
>   > 
>   > 
>   > log1.txt
>   > 
>   >   461 /lista1.luizao.com.br/logo.gif
>   >   441 /lista1.luizao.com.br/barra.gif
>   >   414 /lista2.luizao.com.br/top.html
>   >   412 /lista2.luizao.com.br/cabeca.gif
>   > 
>   > 
>   > log2.txt
>   > 
>   >   491 /lista2.luizao.com.br/cabeca.gif
>   >   431 /lista1.luizao.com.br/barra.gif
>   >   424 /lista1.luizao.com.br/logo.gif
>   >   411 /lista2.luizao.com.br/top.html
>   > 
>   > paulo henrique
>   > -----------------------
>   > echo
> 47875708458009083351029739972407050455790102158921762609658359562P
> | dc
>   > 
>   > 
>   > 
>   >
>
---------------------------------------------------------------------
>   > 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.listasdiscussao.cjb.net
>   >
>
---------------------------------------------------------------------
>   >  
>   > 
>   > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html 
>   > 
>   > 
> 
> 
> 
>   # ########################################################
>   # Mateus de Oliveira Caruccio <caruccio at operamail.com>
>   # Linux User #183552 - UIN #37364320
>   # Vim, vi e matei o Emacs !
> 
> 
> 
>   -- 
>   ____________________________________________
>   http://www.operamail.com
>   Get OperaMail Premium today - USD 29.99/year
> 
> 
>   Powered by Outblaze
> 
>         Yahoo! Groups Sponsor 
>               PUBLICIDADE
>                 
>        
> 
> 
>  
>
---------------------------------------------------------------------
>   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.listasdiscussao.cjb.net
>  
>
---------------------------------------------------------------------
> 
> 
>   Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!. 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


reply via email to

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