В среде Unix есть несколько отличных инструментов для анализа текста в различных формах. Однако в последнее время данные не в традиционных (исторических) форматах (CSV, TSV, основанных на записях или других основанных на разделителях), как это было раньше. В наши дни данные обмениваются в структурированных форматах, таких как XML / JSON.
Я знаю, что есть несколько хороших инструментов, таких как sed, awk и Perl, которые могут сжечь практически любую форму данных. Однако для работы со структурированными данными такого типа часто приходится писать законченную программу, и, учитывая ограниченное время, необходимое для извлечения информации, нужно сесть и выяснить всю логику того, что нужно запрашивать и помещать. это программно. Иногда это не так - в основном потому, что информация, извлеченная из этих файлов, служит входом для дальнейшей работы; также из-за времени, которое требуется для поиска подходящего решения и его кодирования. Необходим инструмент командной строки с достаточным количеством ключей для поиска, запроса и вывода данных.
Я ищу инструменты, которые берут XML / JSON или другие формы структурированных данных и выгружают их в другие форматы, такие как CSV и т. Д., Чтобы оттуда можно было использовать другие команды для получения любой информации из него.
Есть ли какие-либо утилиты командной строки, о которых вы знаете, которые выполняют такую работу? Для этого уже есть сценарии awk / Perl?
источник
jq
хороший инструмент для анализа JSON в оболочке: stedolan.github.io/jqЯ думаю, что для этого могут быть успешно использованы модули Perl, Python или Ruby. И любой из них может быть использован для написания сценариев.
источник
ruby -e 'program text'
"написание сценария"?perl -0777 -MJSON -e '$t=from_json(<STDIN>); do_something_with($t)'
позволяет обрабатывать JSON с минимальными усилиями. Вы все еще должны сказать компьютеру, что делать с данными как-то.