sed w bashu

0

Jak poleceniem sed w bashu znaleźć taga, którego wartości nie znam, znam jedynie nazwę taga
<nazwaTaga>NIEZNAM</nazwaTaga>
i muszę tą powyższą linię z xmla zastąpić
<nazwaTaga>MOJAWARTOSC</nazwaTaga>

To co udało mi się przygotować do tej pory ale nie wiem co wstawić w miejsce znaków zapytania, to musi coś być w stylu, że ten tekst jest obojętny, podejrzewam, że tutaj będzie m.in. gwiazdka * ale jak to dokładnie składnie napisać to nie wiem.
sed 's_<nazwaTaga>?????????</nazwaTaga>_<nazwaTaga>MOJAWARTOSC</nazwaTaga>_' <original.xml > moj.xml
xmlStarlet odpada to musi być bash.

0

Przykładowo żeby zamienić zawartość from w pliku test.xml:

<note><to>Tove</to><from>ScriptTest</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>

możesz wpisać:

sed -i -e '/<note>/,/<\/note>/ s|<from>[a-zA-Z0-9]\{1,\}</from>|<from>greg2345</from>|g' test.xml

wartość ScriptTest zostanie zamieniona na greg2345.

1 użytkowników online, w tym zalogowanych: 0, gości: 1