Строка xmllint без опции --xpath - PullRequest
       11

Строка xmllint без опции --xpath

0 голосов
/ 05 сентября 2018

У меня есть xml, похожее на это:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer>
    <role>probe</role>
    <ipconfig>yes</ipconfig>
    <hostname>test</hostname>
    <ip>192.168.2.123</ip>
    <gateway>192.168.2.1</gateway>
    <subnet>255.255.254.0</subnet>
</customer>

У меня есть скрипты под CentOS7 для получения значений с:

role="$(xmllint --xpath "string(//role)" "${xml_path}")"

Это прекрасно работает.

Теперь я должен использовать то же самое в среде CentOS 6. Поддержка --xpath отсутствует, и я не могу ее установить.

Какой самый простой и простой способ добиться того же?

1 Ответ

0 голосов
/ 05 сентября 2018

Это может сработать:

role=$(echo "cat /customer/role/text()" | xmllint --shell file.xml | grep -v '^/')

Выход в переменную role:

probe
...