Использование xmlstarlet для извлечения данных

У меня есть XML-файлы в следующем формате, и я хотел бы извлечь значение в элементах IP, NETWORK, NETMASK, GATEWAY и VLANID, когда элемент /CONFIG/NIC/MGMT=1. Может кто-нибудь направить меня в правильном направлении... любая помощь будет благодарна.. Спасибо

<CONFIG>
 ~
 <NIC>
  <MAC>--MAC--ADDRESS--</MAC>
  <IP>--IP--ADDRESS--</IP>
  <DEFAULT>--0--OR--1--</DEFAULT>
  <BUILD>--0--OR--1--</BUILD>
  <MGMT>--0--OR--1--</MGMT>
  <VLAN>
   <NETWORK>--NETWORK--IP--</NETWORK>
   <NETMASK>--NETMASK--IP--</NETMASK>
   <GATEWAY>--GATEWAY--IP--</GATEWAY>
   <VLANID>--VLAN--ID--</VLANID>
 </VLAN>
 </NIC>
~
</CONFIG>

1 ответ

Что-то вроде

xmlstarlet sel -T -t -m '/CONFIG/NIC[MGMT = 1]' \
    -v IP -n -v VLAN/NETWORK -n -v VLAN/GATEWAY -n -v VLAN/VLANID -n config.xml
Другие вопросы по тегам