awk oder so

Martin Werthmoeller mw at lw-systems.de
Die Jan 16 21:58:47 GMT 2007


Am Tue, 16 Jan 2007 um 22:38 GMT +0100 schrieb Dominik P.H. Kalisch:
> Hallo Martin,
> 
Hallo Dominik,

> 
> <a href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i> Blah, blah<a 
> href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i> Blah, blah<a 
> href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i> Blah, blah<a 
> href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i> Blah, blah<a 
> href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i> Blah, blah
> 
  perl -p -e 's/(\<a.+?\<i\>)/$1<neu>/g' blah.txt

  <a href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i><neu> Blah,
  blah<a href="blah/blubber" style="blah: 10px;">Linktext</a>Blah <i><neu>
  Blah, blah<a href="blah/blubber" style="blah: 10px;">Linktext</a>Blah
  <i><neu> Blah, blah<a href="blah/blubber" style="blah:
  10px;">Linktext</a>Blah <i><neu> Blah, blah<a href="blah/blubber"
  style="blah: 10px;">Linktext</a>Blah <i><neu> Blah, blah


Das ? ist wichtig. Stichwort "greedy" in der man-Page perlre(1).

Die Regex-Maschine schreitet bei + oder * bis zum Ende des Strings und
sucht dann rückwärts nach dem Pattern, der nach +/* angegeben ist.

  
Viele Grüße,
Martin Werthmöller

-- 
LWsystems GmbH & Co. KG * Ihr Spezialist für Linux und Open Source Software
mw at lw-systems.de * http://lw-systems.de