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