Анализ XML, JSON и новых форматов файлов данных в UNIX с помощью служебных программ командной строки

В среде Unix есть отличные инструменты для разбора текста в различных формах. Однако в последнее время данные не находятся в традиционных (исторических) форматах (CSV, TSV, основанных на записи или некоторых других основанных на разделителях), которые раньше были. Данные в эти дни обмениваются в структурированных форматах, таких как XML / JSON.

Я знаю, что есть хорошие инструменты, такие как sed, awk и Perl, которые могут уничтожать практически любую форму данных. Однако, чтобы работать с такими структурированными данными, часто приходится писать полную программу, и, учитывая малое время для извлечения информации, нужно сесть и понять всю логику того, что нужно запросить и поставить это программно. Иногда это не нормально – в основном потому, что информация, извлеченная из этих файлов, выступает в качестве исходных данных для дальнейшей работы; также из-за времени, необходимого для поиска подходящего решения и его кода. Инструмент командной строки необходим с достаточным количеством переключателей для поиска, запроса и дампа данных.

Я ищу инструменты, которые берут XML / JSON или другие формы структурированных данных и выгружают их в другие форматы, такие как csv и т. Д., Чтобы оттуда можно было использовать другие команды для получения любой информации из нее.

Существуют ли какие-либо утилиты командной строки, о которых вы знаете, какие из них выполняют эту работу? Существуют ли уже скрипты awk / Perl?

2 Solutions collect form web for “Анализ XML, JSON и новых форматов файлов данных в UNIX с помощью служебных программ командной строки”

Я думаю, что для этого можно успешно использовать модули Perl, Python или Ruby. И любой из них может использоваться для сценариев.

для xml есть http://xmlstar.sourceforge.net/

XMLStarlet представляет собой набор утилит командной строки (инструментов), которые могут использоваться для преобразования, запроса, проверки и редактирования документов и файлов XML с помощью простого набора команд оболочки аналогичным образом для простых текстовых файлов с использованием UNIX grep, sed, awk, diff, patch, join и т. д.

вы также можете использовать xsltproc и аналогичные инструменты ( saxon ).

для json: я также считаю, что лучше использовать python, ruby, perl и преобразовать его.

  • Как grep блок xml в XML-файле с использованием ключевого слова в ksh
  • Прокрутите только архив данных .zip только для чтения, чтобы извлечь строку из файла .kml в
  • Замена XML на основе содержимого атрибута с помощью sed
  • Как настроить файл ~ / .tidyrc для XML?
  • Изменение файла XML на основе частичного имени
  • Добавление нового атрибута в существующий xml-файл с помощью sed или awk
  • Как отсортировать XML-элементы на месте?
  • Поиск заменить в файле XML с помощью sed или awk
  • Разделение файлов в Unix с использованием значений в файле
  • Как создать XML-документ из grep-вывода
  • Переупорядочить текст в каждой строке файла
  • Interesting Posts

    Выбор порядка 2 добавленных рецептов в Yocto

    Как конвертировать FLAC-файлы в AAC (предпочтительнее VBR 320k +)?

    Постоянно увеличивайте MTU для мостового интерфейса на RHEL 7

    скрипт bash не создает псевдоним и не обновляет $ PS1

    Используя cURL, как я могу получить числовую строку, содержащую запятые и пробелы, и преобразовать их в строку NON COMAFIED

    Как я могу наблюдать за графическим интерфейсом рабочего стола с оболочкой?

    Как вы сообщаете системе, что цель удовлетворена одним из любых требований?

    Какая информация отправляется клиентом на сервер при установлении соединения SSH?

    Почему Linux имеет компилятор C по умолчанию?

    Устройство ввода-вывода по умолчанию

    Изменение размера панели кнопок окна в корице

    Значение \ 0; в PS1 в .bashrc

    Есть ли онлайн-сайт тестирования скриптов bash?

    Цветной `cat` для исходных файлов и файлов сценариев?

    Как перечислить только файлы в каталоге, разделенные запятыми

    Linux и Unix - лучшая ОС в мире.