Intereting Posts
Работа с столбцами – awk и sed Как составить список всех процессов, назначенных пользователю в кластере Определение функции оболочки: почему есть место после открытия скобки? отобразить отсутствующий счетчик icmp_seq | команда ping Группа захвата регулярных выражений Bash Как перенаправить вывод программы в ZIP-файл? Некоторые сайты загружаются, а другие загружаются навсегда в Linux Mint 18 Как изменить строку «Exec» службы dbus, не теряя при этом изменений в случае обновления Linux Mint 12: версия для DVD и версия для компакт-дисков Возврат только содержимого до и после номера строки с разными совпадающими словами Каков наилучший способ удаления файлов и папок в каталог, исключая содержимое одной папки? проверка статуса sendmail как пользователя NON root Почему GnuPG 2 и gpg-connect-agent не работают с «ERR 67108983 No SmartCard daemon»? CentOS – Yum – Несколько URL-адресов Каково первое событие / файл / журнал в Linux, который появляется / изменяется при загрузке, сигнализируя о том, что сеть работает?

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

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

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

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

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

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

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

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

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

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