Простой grep может помочь:
grep -A1 "<status>new" sample.xml
# <status>new</status>
# <fqdns>10.72.48.216</fqdns>
что рекомендуется только в том случае, если исходный код вашего xml стабилен и не работает. t изменить порядок строк. (Я изменил ваш пример так, чтобы во втором блоке был «новый».)
Вы можете отфильтровать следующую строку, добавив больше grep:
grep -A1 "<status>new" sample.xml | grep "<fqdns>"
# <fqdns>10.72.48.216</fqdns>
С помощью sed вы можете легко извлечь только IP:
sed -rn '/<status>new/{n; s/.*<fqdns>(.*)<\/fqdns>/\1/p}' sample.xml
# 10.72.48.216
Он соответствует
и читает строку n ext и s ubstitutes
и конечный тег с роль в промежутке между ними. -n указывает sed «по умолчанию не печатать», а «-r» разрешает писать регулярные выражения, здесь скобки вокруг. *, Без маскирования.