Пример программы на SLAX: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «=Complex XPath= Например нам требуется выцепить только список интерфейсов, начинающихся с "ge-"…») |
|||
Строка 1: | Строка 1: | ||
=Complex XPath= | =Complex XPath= | ||
Например нам требуется выцепить только список интерфейсов, начинающихся с "ge-" и не имеющих " | Например нам требуется выцепить только список интерфейсов, начинающихся с "ge-" и '''не''' имеющих "mtu 1500". | ||
Первое условие: | match / { | ||
<op-script-results> { | |||
var $results = jcs:invoke("get-interface-information"); | |||
/* Первое условие, проверка на наличие «ge-» */ | |||
for-each ( $results/physical-interface[starts-with (name, "ge-")]) { | |||
/* Второе условие, проверка на отсутствие «mtu 1500» */ | |||
for-each (./logical-interface[jcs:empty(address-family[mtu == "1500"])]) { | |||
<output> "Interface " _ ./name _ " has no mtu 1500"; }}}} | |||
Вывод всех ge- интерфейсов из mtu: | |||
Interface ge-0/0/0.60 has mtu 1500 | |||
Interface ge-0/0/0.80 has mtu 1400 | |||
Interface ge-0/0/0.100 has mtu 1500 | |||
Interface ge-0/0/0.110 has mtu 1500 | |||
Interface ge-0/0/0.32767 has mtu | |||
Interface ge-0/0/1.0 has mtu 1500 | |||
Вывод с нашим условием: | |||
Interface ge-0/0/0.80 has no mtu 1500 | |||
Interface ge-0/0/0.32767 has no mtu 1500 |
Версия 22:28, 10 января 2017
Complex XPath
Например нам требуется выцепить только список интерфейсов, начинающихся с "ge-" и не имеющих "mtu 1500".
match / { <op-script-results> { var $results = jcs:invoke("get-interface-information"); /* Первое условие, проверка на наличие «ge-» */ for-each ( $results/physical-interface[starts-with (name, "ge-")]) { /* Второе условие, проверка на отсутствие «mtu 1500» */ for-each (./logical-interface[jcs:empty(address-family[mtu == "1500"])]) { <output> "Interface " _ ./name _ " has no mtu 1500"; }}}}
Вывод всех ge- интерфейсов из mtu:
Interface ge-0/0/0.60 has mtu 1500 Interface ge-0/0/0.80 has mtu 1400 Interface ge-0/0/0.100 has mtu 1500 Interface ge-0/0/0.110 has mtu 1500 Interface ge-0/0/0.32767 has mtu Interface ge-0/0/1.0 has mtu 1500
Вывод с нашим условием:
Interface ge-0/0/0.80 has no mtu 1500 Interface ge-0/0/0.32767 has no mtu 1500