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

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

Re: [shell-script] Editar HTML com SED


From: Julio C. Neves
Subject: Re: [shell-script] Editar HTML com SED
Date: Thu, 15 Mar 2007 15:08:30 -0300

Fala Alain,
O que vc deseja, como tudo em shell, é muito simples, o problema é que a
solução do seu problema é um código extenso, e tb será extenso em qq outra
linguagem.

vc tem de fazer (em qq linguagem) um algoritimo que leia linha-a-linha até a
div procurada. Neste momento salva o num desta linha e inicializa um
contador. A partir de então, todas as divs que vc encontrar, some 1 ao
contador e todas as /div vc decrementa 1. Qdo o contador zerar, é sinal que
vc encontrou a \div correspondente. Salve o numero desta linha tb.

Agora é só fazer um sed '$lin_ini,${lin_fim}d' arq.html

Como vc vê não tem nenhum problema técnico, mas tem bastante trabalho braçal
e este ambiente de lista foi feito para dar dicas ou para a solução de
pequenos problemas.

Abraços,
Julio
:wq


Em 14/03/07, Alain M. <address@hidden> escreveu:
>
>   Última chamada... visto ninguém mais fazer comentário, deduzo que não é
> possível resolver este problema com alguma ferramenta de shell.
> Começarei a estudar a solução em "C"
>
> Se alguém ainda tiver uma sugestão, por favor me avise antes que eu
> começe ;-)
>
> Grato,
> Alain
>
> Alain M. escreveu:
> > Oi Bruno,
> >
> > Sim os "ids" dos divs são específicos.
> >
> > Respondi na minha própria mensagem porque tem o exemplo simplificado em
> > baixo, um exemplo do texto original seria esta página:
> > http://g1.globo.com/Noticias/0,,MUL9810-5603-1853,00.html
> > e manda salvar como... ou abre direto o código fonte. Por exemplo nesta
> > página eu quero apagar os tags:
> > <div id="glbBarra"
> > <div id="lateral">
> >
> > O exemplo abaixo deveria servir para testes, acho que contém todos os
> > casos encontrados
> >
> > Espero encontrar uma solução sem ter que escrever um programa sm C...
> >
> > Alain
> >
> > Alain M. escreveu:
> >> Ok, Bruno, não fui claro novamente, vou tentar de novo
> >>
> >> Na página, tem vários tags quecomeçam com "<div" eu quero tirar uma
> >> delas, no meu exemplo a que começa com '<div id="Label"' até o "</div>"
>
> >> *correspondente*.
> >>
> >> Só que dentro desse div tem outro div, então tem que achar o
> >> correspondente, independentemente de quantos tem aninhados dentro.
> >>
> >> Alain
> >>
> >> Bruno Gunter Fricke escreveu:
> >>> Alain,
> >>>
> >>> Você precisa encontrar um ponto em comum em seu texto para usar o sed.
> >>> Você quer manter algumas "divs" e outras não. Não tem como fazer o que
> você deseja se não for informado exatamente o que você precisa cortar do
> texto.
> >>>
> >>> Agradeço pelas dicas, mas acho que me expliquei mal.
> >>>
> >>> Dica do Tiago: sed '/^<div/,/^<\/div/d' arquivo
> >>> Dica do Flavio: tr '\n' '#' < txt | sed 's/<.*>//' | tr '#' '\n'
> >>>
> >>> Na verdade eu quero é tirar um TAG específico no meio de uma página
> >>> grande em html. Refiz meu exemplo para ficar mais claro, eu preciso
> >>> tirar o TAG que começa com: <div id="Label"
> >>>
> >>> -----Original-----
> >>> texto que fica <div class="Lxx">também fica</div>
> >>> <div id="Label" class="x1024">
> >>> mais texto
> >>> <div class="Label2"></div>
> >>> lixo</div>
> >>> mais um que fica <div class="Lyy">ficante ídem</div>
> >>>
> >>> -----editado------
> >>> texto que fica <div class="Lxx">também fica</div>
> >>> mais um que fica <div class="Lyy">ficante ídem</div>
> >>>
> >>> Só por curiosidade, a idéia é limpar páginas para ler offline no Palm.
>
> >>> Por exemplo:
> >>> http://g1.globo.com/Noticias/0,,MUL9810-5603-1853,00.html
> >>>
> >>> Mais uma vez, grato,
> >>> Alain
> >
> >
> >
> > ----------------------------------------------------------
> > 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<shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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