On Wed, 2004-04-28 at 13:12, Jens Puruckherr wrote:
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!
Letztenendlich muss ich aus vielen XML-Dateien mal schnelle ein Stu"ckerl entfernen. Wer kann mir helfen?
Die perlrun manpage :)
-p causes Perl to assume the following loop around your program, which makes it iterate over filename arguments somewhat like sed:
LINE: while (<>) { ... # your program goes here } continue { print or die "-p destination: $!\n"; }
Beim zeilenweisen Abarbeiten ist es schwer, Substitutionen über mehrere Zeilen hinweg zu machen. Bau dir ein richtiges Script, und joine vorm Bearbeiten den Dateiinhalt zu einem Scalar zusammen... oder so ;)
Mit freundlichen Grüßen
Jens Puruckherr
Lug-dd maillist - Lug-dd@schlittermann.de http://mailman.schlittermann.de/mailman/listinfo/lug-dd