![](https://seccdn.libravatar.org/avatar/88960a23cc9b04ce5d8bb585caf610d1.jpg?s=120&d=mm&r=g)
Joerg Thuemmler schrieb:
Torsten Foertsch schrieb:
On Wed 23 Sep 2009, Joerg Thuemmler wrote:
ich hatte es nicht für ein Problem gehalten: sed soll mir in Abhängigkeit von der Verwendung bestimmte Bereiche aus html-Dateien entfernen, die in Kommentare eingeschlossen sind. Die Bereiche können über mehrere Zeilen gehen... müssen aber nicht. Also etwa so: ... blabla<!--START-->das soll raus das auch bis hierher<!--ENDE-->blubblub... ... Ich dachte, ein primitives
sed -e 's/<!--START-->.*<!--ENDE-->//g'
würde es tun. Tut es aber nicht, auch nicht mit diversen Quotings. Es erwischt nur Bereiche, die in einer Zeile liegen. Irgendwo hab ich ein Brett vorm Kopf. Sed arbeitet ZEILENWEISE.
Ja, das wußte ich... dachte nur, es gäbe einen Trick, das zu umgehen
Mir fallen zwei Möglichkeiten: 1. Wenn sichergestellt werden kann, dass vor bzw. nach der jeweiligen Bereichsmarkierung kein weiterer Text steht: sed -e '/ANFANG/,/ENDE/d' 2. Verwende ein Script: #!/usr/bin/sed -f /ANFANG/,/ENDE/{ /ANFANG/!{ /ENDE/!d } /ANFANG/,s/\(.*\)ANFANG.*/\1/g /ENDE/,s/.*ENDE\(,*\)/\1/g } Mach das Script ausführbar und ruf es mit der Quelle auf. (Das geht sicher auch auch der Kommando-Zeile, ist so aber leichter zu lesen;-) Warnung: Ich kenne mich mit sed auch nicht so gut aus, also Vorsicht beim ausprobieren! Es gibt auch noch den Befehl N, mit dem eine Zeile angehängt und so über Zeilengrenzen hinweg gearbeitet werden kann. Musste ich aber bisher noch nicht anwenden. Mit freundlichen Grüßen Martin Blank -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org