Ich möchte den untenstehenden XML-Text im Bash-Skript analysieren.Parsen von XML-Elementen mit Attributen im Bash-Skript
<os name="RedHat" os_version="6">
<package_manager type="name">rpm</package_manager>
<multipath_package_check type="command">rpm -qa | grep device-mapper-multipath</multipath_package_check>
<mpath_service_enable type="command">chkconfig multipathd on</mpath_service_enable>
<mpath_service_restart type="command">service multipathd restart</mpath_service_restart>
</os>
Zum Beispiel, ich brauche Funktionen haben wie unter den Text zurück, wenn Element Attribute, die Argumente entsprechen.
get_package_manager "RedHat" "6"
sollte "rpm" return
get_multipath_package_check "RedHat" "6"
sollte zurückgeben "rpm -qa | grep device-mapper-multipath"
jede Hilfe dankbar.
Versuchen Sie nicht, mit Hilfe von XML-Tools wie 'bash' zu analysieren , 'sed' oder' awk'. So liegt der Wahnsinn. Verwenden Sie etwas XML-aware, wie 'xmlstarlet'. –