"Jens Puruckherr" jpuruckherr@cyberport.de writes:
hi,
eigentlich recht einfach dachte ich, aber nun funktioniert es aben nicht so, wie von mir gedacht:
perl -i -p -e 's/<Datenblatt>.*?</Datenblatt>//s' test.txt
Schnippelt alles zwischen <Datenblatt> und </Datenblatt> aus test.txt raus. Das auch noch u"ber mehrere Zeilen verteilt ... dachte ich (darum Schalter 's'). Macht er aber nicht! Es klappt aber nur, wenn alles auf einer Zeile steht!
Weil -p dem Codeblock jede Zeile einzeln übergibt. Wenn Dein Datenblatt-Tag einzeln auf einer Zeile ist, probier sowas:
perl -ne 'print unless /<Datenblatt>/ .. /</Datenblatt>/' < test.txt
GreetinX Steffen