[linux] Re: regex vraagje

Jelle Boomstra nllgg op nietsch.dds.nl
Wo Feb 8 18:01:55 CET 2006


On Wednesday 08 February 2006 17:44, asmuth op bakunin.xs4all.nl wrote:
> > Mag ik jullie even storen voor een regular expressions gerelateerde
> > vraag? ik heb een file met links die ik uit een set html heb gegrept. Dat
> > ziet er ongeveer zo uit:  rommel* <a href="/links/die/ik/wil" name="niet
> > interessant">de linktekst</a> meer niet interesaante rommel hier met
> > <tags>
> > en "quotes"
> >
> > dat wil ik omvormen naar een lijstje met op elke regel
> > /links/die/ik/wil |de linktekst
>
> Probeer eens iets in de trant van
>
> sed -n <linkejes..html -e '
> /.*<[aA][[:space:]]\+[hH][rR][eE][fF][[:space:]]*=[[:space:]]*"\(.*\)".*>\(
>.*\)<\/[aA]>/ {
> s//\1 \t\| \2/
> p }'
>

Dankjewel, daar kwam al iets heel bruikbaars uit. blijkt gelijk hoe onprecies 
html is, veel links hebben nog wat tabel structuur ingebed zitten. En hij 
gaat nog fout op links waar een name="iets" attribuut bij zit. 

> (de tweede regel loopt van '/' tot aan '{', maar kan zijn afgekapt.
>
> Let erop dat sed regel-georienteerd is, maar HTML willekeurige regel-
> einden kan bevatten, waardoor bovenstaand commando fout kan gaan.
Ja dat kan inderdaad ook nog als de newline voor de </a> tag komt ja... 

iig bedankt!


-- 
met vriendelijke groeten,
Jelle Boomstra



More information about the Linux mailing list