📜 Красивый вывод XML в командной строке Linux

Как вывести XML на Linux

by itisgood

Хотя XML (Extensible Markup Language) является языком разметки, читаемым человеком, вы скорее всего найдете XML-файлы неструктурированными настолько, что у вас будет болеть голова!

Вот как будет выглядеть вывод команды cat, если мы захотим посмотреть XML документ

Вывод XML-файлов в терминале

Прежде чем приступить к процессу, позвольте мне поделиться неструктурированным XML, который я собираюсь использовать на протяжении всего руководства.

Образец файла mydomain.xml содержит множество ip и FQDN и я собираюсь отформатировать этот файл, чтобы уменьшить головную боль!

Итак, давайте начнем с первого метода:

Метод 1: Использование xmllint для красивого вывода XML

Утилита xmllint предоставляет нам опцию –format, с помощью которой пользователи могут переформатировать свои XML-файлы.

Чтобы переформатировать XML-файлы с помощью xmllint, необходимо следовать приведенному синтаксису:

xmllint --format XML_FILE

Для демонстрации я буду использовать файл mydomain.xml:

xmllint --format mydomain.xml

По умолчанию добавляется два пробела, но что если вы хотите добавить больше?

Вы можете использовать переменную окружения XMLLINT_INDENT.

Например, я буду добавлять четыре пробела в моем mydomain.xml:

XMLLINT_INDENT="    " xmllint --format mydomain.xml

Метод 2: Использование набора инструментов XMLStarlet

XMLStarlet – это набор утилит командной строки, служащих для различных целей.

В нем есть команда xml, с помощью которой можно выполнить практически все, что связано с XML-файлами!

Но он требует ручной установки, а для начала работы имеется пакет snap:

sudo snap install xmlstarlet

А чтобы отформатировать XML-файлы, нужно просто сопрячь опцию format с командой xml, как показано ниже:

xml format email.xml

Как я уже упоминал, он предоставляет нам различные опции, и есть четыре опции форматирования:

  • -n не будет интенсифицировать вывод. Это означает, что не будет добавляться пробел, и результат будет похож на выравнивание текста по левому краю.
  • -t будет оформлять вывод с помощью вкладок для лучшей видимости.
  • -o опускает декларацию XML. Это не что иное, как добавление <?xml version=”1.0″?> в верхней части XML-файла.
  • -s добавляет пробел. Таким образом, вы сами решаете, какое количество пробелов вам нужно!

Например, я буду добавлять шесть пробелов intend с помощью fo, чтобы разрешить форматирование:

xml fo -s 6 email.xml

Метод 3: Использование команды xml_pp

Это наименее гибкий вариант, когда дело доходит до форматирования XML-файлов, поскольку xml_pp является частью модуля Perl под названием XML::Twig.

И это единственный вариант, который изменяет непосредственно файл.

Но он требует ручной установки, и если вы работаете с дистрибутивом на базе Debian, то данная команда поможет вам справиться с задачей:

sudo apt install xml-twig-tools

Например, я буду использовать стиль записи для форматирования mydomain.xml:

Здесь опция -i используется для внесения изменений в исходный файл, в то время как она предназначена для присоединения к нему расширения.

А опция -s используется для использования параметров стиля, и я выбрал запись с именем стиля.

Заключение

В этом руководстве я объяснил, как можно форматировать ваши XML-файлы, делая их более читабельными.

А если у вас есть какие-либо вопросы, задавайте их в разделе комментариев.

You may also like

Leave a Comment