Как найти URL-адрес, который обслуживает открытый ключ GPG для репозитория пакетов?

Используйте синтаксический анализатор xml, например.xmlstarlet:

xmlstarlet sel -t -m '//fields' -v 'fullName' -n file

Обратите внимание, что ваш файл xmlдолжен быть действительным, что не соответствует вашему примеру, так как у вас отсутствует корневой тег. Следующее будет работать с вышеуказанной командой:



    ABC
    false
    TY



    DEF
    false
    XY


Выход:

ABC
DEF

Благодаря комментарию @roaimas я создал цикл forс результатами из xmlstarlet, не зная количества полей:

numFields=$(xmlstarlet sel -t -m '//fields' -o "." file | wc -c)
for i in $(seq 1 $numFields); do
    var=$(xmlstarlet sel -t -m "//fields[$i]" -v "fullName" file)
    printf '%s\n' "$var" # or do something else
done

1
14.02.2020, 20:31
0 ответов

Теги

Похожие вопросы