Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.
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
Установите jc с помощью pip
pip3 install jc - 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 обновляется ежедневно.
Похожие проекты
Терминальный просмотрщик и обработчик JSON для интерактивной навигации, сворачивания и преобразования данных в shell.
Редактор JSON с открытым исходным кодом: превращает JSON, YAML, CSV и XML в интерактивные графы, конвертирует форматы и генерирует код.
Кроссплатформенный терминал с открытым исходным кодом и интеграцией AI для macOS, Linux и Windows: BYOK, локальные модели, постоянные SSH-сессии и встроенный просмотр файлов.
Консольная утилита для проверки связи с несколькими узлами и построения графиков задержки или времени выполнения команд.
Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.