Marvin Esse: Über Linux shell script XML auslesen

Beitrag lesen

Guten Morgen Leute,

ich habe ein eher Linux-technisches Problem und bin mir sicher, dass hier jemand dabei ist, der mir weiterhelfen kann.

Ich habe eine (ziemlich umfangreiche) XML-Datei, mit der folgenden (übersichtlichen) Struktur:

<baum>
  <feld pfad="/test/123/x y z/abc">
    <name>Michael</name>
    <rechte>RW</rechte>
  </feld>
  <feld pfad="/test/123/x y z">
    <name>Marvin</name>
    <rechte>RW</rechte>
  </feld>
</baum>

Ich hab ein Script gefunden/gebaut, mit dem ich schon bei Eingabe eines Begriffs, die gefundenen Felder anzeigen lassen kann:

y="$1"
up="$(echo $y | tr 'A-Z' 'a-z')"
lo="$(echo $y | tr 'a-z' 'A-Z')"
echo "cat //baum/*[contains(translate(.,'$up','$lo'),'$lo')]" | xmllint --shell /media/data/database.xml

Bei Eingabe von bspw. "Marvin" wird mir zurückgegeben:

  <feld pfad="/test/123/x y z">
    <name>Marvin</name>
    <rechte>RW</rechte>
  </feld>

Aber wie kann ich nach "/test/123/x y z" suchen und ebenso die feld-Struktur(en) als Ergebnis anzeigen lassen? Ich schaffe es leider bisher nicht nach Sonderzeichen oder auch nach Leerzeichen suchen lassen.

Liege Grüße,

Marvin