Анализ 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 и преобразовать его.

  • удалить что-нибудь между угловыми скобками, включая его
  • Поиск строки, с успехом Поиск ближайшего шаблона
  • Как проверить корректность XML-файла 4 ГБ?
  • Измените несколько строк файла XML с помощью командной строки
  • Как получить определенную строку в xml с помощью python или perl и т. Д.
  • Как получить список значений соответствия атрибутов с помощью xmllint и xpath?
  • Поиск заменить в файле XML с помощью sed или awk
  • Как отсортировать XML-элементы на месте?
  • Как отформатировать атрибуты xml, а не только элементы
  • Может ли gedit выделить элемент svg stucture?
  • Добавление нового атрибута в существующий xml-файл с помощью sed или awk
  • Interesting Posts

    Использование файла для установки пакетов с помощью apt-get

    Как я могу ограничить размер загруженного файла в wget?

    Обработка путей в файле m3u

    Объединение 2 файлов с использованием совпадения полей

    Ошибка: TCA_HTB_PAD не объявлен при создании ядра

    Коэффициенты Regex не работают с локацией

    Два входных канала через перетасование дескриптора файла и / dev / fd

    Fedora 17 не обнаруживает некоторые нажатия клавиш

    Как проверить, является ли введенная переменная буквенно-цифровой или нет в ksh?

    Как я удаляю все файлы в каталоге с конкретными расширениями, за исключением последних 5 из них

    macos – перенаправление локального порта с использованием pfctl и синтаксических ошибок

    Копировать удаленный btrfs инкрементный снимок на новый диск с UUID

    как получить доступ к ресурсу samba из Windows, который работает на другом порту

    Редактор Kate: как определить / добавить фильтры типов файлов в диалоговом окне файлов?

    nVidia терпит неудачу после обновления

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