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

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

Re: [shell-script] Melhorar expressão sed.


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] Melhorar expressão sed.
Date: Tue, 8 Apr 2003 10:50:14 -0300 (EST)

ae adriano,

On Tue, 8 Apr 2003, Adriano da Silva Múfalo wrote:

> fiz nas seguintes etapas:
> DATA="20030407"
> lynx -source http://www.symantec.com.br/avcenter/download/pages/BR-N95.html
> | grep "$DATA.*\-i32.exe"
> q me retornou:
> <td><p><b><a
> href="/avcenter/download/us-files/20030407-007-i32.exe">20030407-007-i32.exe
> </a></b></p></td>
>
> e então, adicionei o seguinte ao final para pegar apenas o
> conteúdo entre as aspas..
> | sed 's/^.*="//;s/".*$//'
> e aí me retorna:
> /avcenter/download/us-files/20030407-007-i32.exe
>
> pergunta: existe uma forma de melhorar isto q estou fazendo ? eu acredito q
> sim.. pois meu conhecimento de sed tende a zero.... :-)
> Alguém poderia me ajudar a melhorar ?
> o q eu queria era algo assim:
> sed '/^.*="(MOSTRE ME APENAS O Q ESTIVER AQUI)">.*$/'

pode usar um sed pra fazer o grep e a substituicao:

lynx -source -dump \
http://www.symantec.com.br/avcenter/download/pages/BR-N95.html |\
sed -n \
'/20030407[0-9-]\+-i32.exe/{s/.*href="\([^">]\+\).*$/\1/;p;}'

-n nao imprime nada alem do que for mandado

/20030407[0-9-]\+-i32.exe/ fizemos o grep
e somente nestas linhas fizemos a substituicao
s/.*href="\([^">]\+\).*$/\1/ substitui qualquer coisa ateh href="
por anda, depois cria um grupo de caracteres diferente de " e
substitui por nada ateh o final da linha. Ou seja deixamos
somente o que esta entre href=" e "

p; imprime o resultado.

no lynx vc tb pode usar soh lynx -dump http:///.... |
que ele nao te imprime o codigo html.
ai basta fazer lynx -dump ..... |
sed -n '/20030407[0-9-]\+-i32.exe/{/http/s/^[ 0-9\.]\+//p;}'

Note que usando somente o -dump, no lugar das url no html ele te
colocara um index. assim:

[17]20030407-007-i32-1.exe

todas as url do arquivo serao colocadas em baixo na saida:

 17. http://www.symantec.com.br/avcenter/download/us-files/\
20030407-007-i32-1.exe

acho que nao fui muito claro. mas faz o lynx dump http... > x
que vc vai entender.

falow

thobias
-------
echo 24883721290304465999833114447114149701898P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



reply via email to

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