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

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

Re: [shell-script] Ajuda cr�tica


From: moysespr
Subject: Re: [shell-script] Ajuda crítica
Date: Tue, 14 Oct 2003 21:10:19 -0700 (PDT)

Desculpe-me, estou sem tempo, mas o grande sentimento de dívida que
tenho para com o pessoal que cria free software, me obriga pelo menos
a dar um alou.

Experimente esse escriptizinho:

------------------------
if ! [ -f lix.txt ];then
 /usr/bin/lynx \
 -connect_timeout=10 -width=400 -dump \
 http://linorg.usp.br/webalizer-openoffice.br/usage_200209.html \
 >lix.txt
fi


while read n;do
 echo $n|grep "Top 30 de 47 URLs"
 [ $? = 0 ]&&{ echo Inicio tab1; t1=1;}
 echo $n|grep "Top 10 de 47 URLs By KBytes"
 [ $? = 0 ]&&{ echo Fim tab1; unset t1;}
 [ $t1 ]&&{ echo -e `echo $n|cut -d" " -f4;echo "\t";echo $n|\
 cut -d/ -f2-`;}
done<lix.txt
--------------------

Ele pega o primeiro link que você forneceu e coloca a página em
formato txt, no arquivo lix.txt. Depois apresenta na tela as duas
colunas que você citou da tabela desejada, eu espero.
Brinque na parte de baixo do script, sendo sempre usado o lix.txt.
Para fazer uma nova coleta de dados é só apagar/mover o lix.txt e o
browser lynx será novamente solicitado.

Com certeza há muitas formas de você fazer o que deseja, e por certo
muito melhores que esta. De qualquer forma é um ponto de partida.

O melhor de tudo é se você, em contato com os escritores dos scripts
que geram o html da página fonte, conseguir com eles uma saida txt
estruturada adicional, pronta para importação no seu software.

Espero que você esteja usando o scalc. :)

Obrigado a todos do OpenOffice.org!




--- Alexander <address@hidden> wrote:
> Olá!
> 
> Faço parte da equipe do Open Office do Brasil e estou encarregado
> de fazer as 
> estatísticas de download dos pacotes do Open Office.
> 
> Bom... o trabalho a princípio se resume em entrar em páginas do
> webalizer dos 
> mirrors e pegar o nome dos pacotes e quantos KB de download foram
> feitos do 
> pacote.
> 
> Isso dá um trabalhão pois são muitos pacotes, muitos mirrors e
> muitos 
> "copia/cola".
> 
> Bom... estou querendo fazer um shell script que através do Lynx,
> pegue o 
> código fonte da página e separe as linhas referentes aos pacotes do
> Open 
> Office e a coluna de KBytes.
> 
> Para não ficar no vácuo, segue o link de uma página que contém as
> estatísticas 
> do webalizer:
> 
> http://linorg.usp.br/webalizer-openoffice.br/usage_200209.html
> 
> Nessa página há uma tabela com o nome "Top 30 de 47 URLs". Nela há
> uma coluna 
> KBytes e outra coluna com o nome do pacote.
> 
> Sei que é um trabalho furioso de seds e greps, mas não estou
> conseguindo 
> separar a tabela que quero e muitos menos as linhas que quero. Só
> preciso da 
> coluna com o nome do pacote e a coluna com os KBytes de download.
> 
> O código-fonte da página é limpo, portanto dá para pegar sem
> grandes 
> encrencas, mas não estou conseguindo.
> 
> Para piorar as primeiras linhas têm colunas mescladas.
> 
> Alguém pode me enviar um exemplo de como capturar apenas algumas
> linhas de uma 
> tabela como a abaixo(desculpem a antipatia de colocar o fonte da
> tabela aqui, 
> mas talvez alguém se sinta mais à vontade usando-o):
> 
> Bom... pelo menos alguém pode dar uma idéia de por onde começar?
> Como eu 
> conseguiria apagar tudo antes da tabela que contém "Top 30 de 48
> URLs"?
> 
> E como eu conseguiria pegar todas as linhas até o final da
> tabela(são muitas, 
> digo apenas até o final da tabela que contém o que eu quero)?
> 
> Se alguém puder pelo menos colocar um sed ou grep aqui eu me viro
> para 
> continuar.
> 
> Valeu!
> Alexander
> 
> 
> <table WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>
> <tr><th HEIGHT=4></th></tr>
> <tr><th BGCOLOR="#C0C0C0" ALIGN=CENTER COLSPAN=6>Top 30 de 47
> URLs</th></tr>
> <tr><th HEIGHT=4></th></tr>
> <tr><th BGCOLOR="#C0C0C0" ALIGN=center><font
> SIZE="-1">#</font></th>
> <th BGCOLOR="#008040" ALIGN=center COLSPAN=2><font
> SIZE="-1">Hits</font></th>
> <th BGCOLOR="#FF0000" ALIGN=center COLSPAN=2><font 
> SIZE="-1">KBytes</font></th>
> <th BGCOLOR="#00E0FF" ALIGN=center><font
> SIZE="-1">URL</font></th></tr>
> <tr><th HEIGHT=4></th></tr>
> <tr>
> <td ALIGN=center><font SIZE="-1"><b>1</b></font></td>
> 
> <td ALIGN=right><font SIZE="-1"><b>97</b></font></td>
> <td ALIGN=right><font SIZE="-2">21.23%</font></td>
> <td ALIGN=right><font SIZE="-1"><b>120</b></font></td>
> <td ALIGN=right><font SIZE="-2">0.01%</font></td>
> <td ALIGN=left NOWRAP><font SIZE="-1"><a 
>
HREF="http://www.linorg.usp.br/OpenOffice.org.br/";>/OpenOffice.org.br/</a></font></td></tr>
> <tr>
> <td ALIGN=center><font SIZE="-1"><b>2</b></font></td>
> <td ALIGN=right><font SIZE="-1"><b>33</b></font></td>
> <td ALIGN=right><font SIZE="-2">7.22%</font></td>
> 
> <td ALIGN=right><font SIZE="-1"><b>39</b></font></td>
> <td ALIGN=right><font SIZE="-2">0.00%</font></td>
> <td ALIGN=left NOWRAP><font SIZE="-1"><a 
>
HREF="http://www.linorg.usp.br/OpenOffice.org.br/dists/";>/OpenOffice.org.br/dists/</a></font></td></tr>
> </table>
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com


reply via email to

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