[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