alles löschen was davor steht

23/10/2007 - 15:33 von Knut Rauscher | Report spam
Hallo,

ich habe hier ein etwas hàsslichen xml-file:

<?xml version="1.0" encoding="utf-8"?><ns0:Pip3B11ShippingOrderNotification xmlns:ns0="http://schemas.microsoft.com/biztal....dtd" xmlns:ns1="http://www.w3.org/XML/1998/namespace" xmlns:ns2="http://Microsoft.Solutions.BTARN.Sc...gt;<ns0:fromRole>

Nun würde ich gerne alle Zeichen löschen die vor <ns0:fromRole> stehen:

Ergebnis:

<ns0:fromRole>

Das ganze ist wie oben gezeigt ein Einzeller in der Datei.

Das was ich bis jetzt hinbekomme habe, ist folgendes:

sed 's/<[^>]*>//' xms-file | sed 's/<[^>]*>//' > new-xms-file

Nur leider muss ich mich dort drauf verlassen, das nicht ausversehen
noch ein <..> davor steht.

Ist also nicht wirklich elegant.
Wie bekommt man das mit sed am schöner hin?

Schöne Grüße

sendet Knut
 

Lesen sie die antworten

#1 Hauke Laging
23/10/2007 - 16:27 | Warnen spam
Knut Rauscher schrieb am Dienstag 23 Oktober 2007 15:33:

Nur leider muss ich mich dort drauf verlassen, das nicht
ausversehen noch ein <..> davor steht.

Ist also nicht wirklich elegant.
Wie bekommt man das mit sed am schöner hin?



<GNU-Alarm />
echo foobar | sed -n -e 's/\(.*\)\(bar\)/\2/' -e p
bar


CU

Hauke
http://www.hauke-laging.de/ideen/
http://www.hauke-laging.de/software/
http://zeitstempel-signatur.hauke-laging.de/
Wie können 59.054.087 Leute nur so dumm sein?

Ähnliche fragen