XML-File, sed und RegExp

Hallo Experten,

ich suche nach einer Möglichkeit in einem xml-File in einer Zeile alles zwischen zwei " zu ersetzen, nachdem ein bestimmtes Wort erscheint. Beispielzeile:
propertie=„PROPERTIE“ value=„WERT“

ich bin jetzt schon soweit, dass ich mit sed die Zeile bekomme, aber wie kann ich jetzt WERT durch WERTNEU ersetzen ohne WERT zu kennen, sprich alles, was zwischen den zwei " nach value= steht…

danke fuer eure Tips!

Michael

Hallo Experten,

Wer? Wo? Hi,

ich suche nach einer Möglichkeit in einem xml-File in einer
Zeile alles zwischen zwei " zu ersetzen, nachdem ein
bestimmtes Wort erscheint. Beispielzeile:
propertie=„PROPERTIE“ value=„WERT“

Irgendwie sowas? (Man verzeihe mir, dass ich von XML keine Ahnung hab.)

frank@zion [~] $ cat foo.xml

 data

frank@zion [~] $ sed '/property="number"/s%value="[^"]\*"%value="few"%' foo.xml

 data

frank@zion [~] $

HTH,
Gruss vom Frank.

Wer? Du dann wahrscheinlich :smile:
Wo? Hier dann wahrscheinlich :smile:
Hi Frank,

danke fuer die prompte Antwort!

Irgendwie sowas? (Man verzeihe mir, dass ich von XML keine
Ahnung hab.)

macht nix! :wink:

frank@zion [~] $ cat foo.xml


> data  
>   
>   
> frank@zion [~] $ sed  
> '/property="number"/s%value="[^"]\*"%value="few"%' foo.xml  
>   
>   
> data  
>   
>   
> frank@zion [~] $

sehr schoen, wenn Du mir jetzt noch ganz kurz Hinweise darauf geben könntest, was

value="[^"]\*"

bedeutet…

Danke Dir schon mal!

[erledigt] Danke (mit Text)
Hi Frank und alle anderen Experten,

Irgendwie sowas? (Man verzeihe mir, dass ich von XML keine
Ahnung hab.)

frank@zion [~] $ cat foo.xml

data

frank@zion [~] $ sed
‚/property=„number“/s%value="[^"]*"%value=„few“%‘ foo.xml

data

frank@zion [~] $

der Vorschlag funktioniert erst mal, und ich hab jetzt auch verstanden warum:
also, er sucht nach dem Muster „value=“