Repolode
kellyjonbrazil

kellyjonbrazil/jc

CLI-инструмент и библиотека Python для преобразования вывода команд, файлов и строк в JSON, YAML или словари.

Звёзды
8,694
Форки
269
Открытые issues
29
Последний коммит
3 дня назад

Что это?

jc преобразует текстовый вывод многих распространённых команд Linux, macOS и Windows, таких как dig, ls, ps, df и netstat, в структурированный JSON. Он также разбирает распространённые форматы файлов — CSV, INI, YAML, TOML и сертификаты X.509, — а ещё строки: URL, IP-адреса, JWT и временные метки. У каждого парсера есть заданная схема; известные числа, логические значения и null преобразуются в соответствующие типы JSON.

Вывод можно передавать через конвейер таким инструментам, как jq и jello, или запускать команду с помощью специального синтаксиса, при котором jc ставится непосредственно перед ней. Разработчики также могут использовать jc как библиотеку Python: функция parse() возвращает словари или ленивые итерируемые объекты со словарями. Для необработанного JSON предусмотрен режим raw.

Проект можно установить через pip; он также доступен во многих пакетных менеджерах ОС. Кроме того, он поставляется как плагин-фильтр Ansible в коллекции community.general.

Ключевые возможности

  • 01Преобразует вывод многих команд в JSON, используя заданную схему для каждого парсера.
  • 02Разбирает распространённые форматы файлов и строки, например CSV, YAML, TOML, URL и JWT.
  • 03Работает в конвейерах shell с такими инструментами, как jq, а также как библиотека Python, возвращающая словари.
  • 04Для некоторых команд доступны потоковые парсеры, которые лениво обрабатывают большие объёмы вывода.
  • 05Устанавливается через pip и пакетные менеджеры ОС; доступны также готовые бинарные файлы.

Сценарии использования

  • Разбор вывода команд в скриптах Bash без хрупкого кода для обработки текста.
  • Извлечение полей из системных команд в сценариях автоматизации Ansible, Salt или Nornir.
  • Преобразование конфигурационных файлов или логов в JSON для дальнейшего анализа.
  • Передача сетевой или системной диагностики в конвейеры обработки данных на Python.

Быстрый старт

  1. 1

    Установите jc с помощью pip

    pip3 install jc
  2. 2

    Передайте вывод команды в jc, указав парсер, например dig

    dig example.com | jc --dig

Что важно знать

  • Полнота вывода зависит от схемы, поддерживаемой каждым парсером; неподдерживаемые команды не преобразуются.

Темы

Частые вопросы

Что такое jc?
CLI-инструмент и библиотека Python для преобразования вывода команд, файлов и строк в JSON, YAML или словари. jc преобразует текстовый вывод многих распространённых команд Linux, macOS и Windows, таких как dig, ls, ps, df и netstat, в структурированный JSON. Он также разбирает распространённые форматы файлов — CSV, INI, YAML, TOML и сертификаты X.509, — а ещё строки: URL, IP-адреса, JWT и временные метки. У каждого парсера есть заданная схема; известные числа, логические значения и null преобразуются в соответствующие типы JSON.
jc можно использовать бесплатно? Какая у него лицензия?
jc распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
jc всё ещё поддерживается?
Активно поддерживается. Последний коммит в jc — 20 окт. 2026 г..
Для чего можно использовать jc?
Разбор вывода команд в скриптах Bash без хрупкого кода для обработки текста. Извлечение полей из системных команд в сценариях автоматизации Ansible, Salt или Nornir. Преобразование конфигурационных файлов или логов в JSON для дальнейшего анализа. Передача сетевой или системной диагностики в конвейеры обработки данных на Python.
Как установить jc?
Установите jc с помощью pip: pip3 install jc Передайте вывод команды в jc, указав парсер, например dig: dig example.com | jc --dig
Где скачать jc?
Исходный код и инструкции по установке — на GitHub: https://github.com/kellyjonbrazil/jc

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты