Использование 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