Repolode
kellyjonbrazil

kellyjonbrazil/jc

Ferramenta CLI e biblioteca Python que converte a saída de ferramentas de linha de comando, formatos de arquivo e strings comuns em JSON, YAML ou dicionários.

Estrelas
8,694
Forks
269
Issues abertas
29
Último commit
há 3 dias

O que é?

jc converte a saída de texto de muitas ferramentas de linha de comando comuns do Linux, macOS e Windows, como dig, ls, ps, df e netstat, em JSON estruturado. Também interpreta formatos de arquivo comuns, como CSV, INI, YAML, TOML e certificados X.509, além de strings como URLs, endereços IP, JWTs e timestamps. Cada parser segue um schema definido e converte números, valores booleanos e valores nulos conhecidos para os tipos JSON apropriados.

A saída pode ser encadeada com ferramentas como jq ou jello, ou o jc pode ser chamado usando uma sintaxe “mágica” que o coloca diretamente antes de um comando. Desenvolvedores também podem usar o jc como biblioteca Python, na qual parse() retorna dicionários ou iteráveis preguiçosos de dicionários. Há também um modo raw para obter o JSON sem processamento.

O projeto pode ser instalado com pip e está disponível em muitos gerenciadores de pacotes de sistemas operacionais. Também é distribuído como um plugin de filtro do Ansible na coleção community.general.

Recursos principais

  • 01Converte a saída de muitas ferramentas de linha de comando em JSON, com um schema fixo para cada parser.
  • 02Interpreta formatos de arquivo e strings comuns, como CSV, YAML, TOML, URLs e JWTs.
  • 03Funciona em pipelines de shell com ferramentas como jq ou como biblioteca Python que retorna dicionários.
  • 04Oferece parsers em streaming para alguns comandos, permitindo processar grandes saídas sob demanda.
  • 05Pode ser instalado via pip, gerenciadores de pacotes de sistemas operacionais ou binários pré-compilados.

Casos de uso

  • Interpretar a saída de comandos em scripts Bash sem depender de código frágil para processar texto.
  • Extrair campos de comandos do sistema em automações com Ansible, Salt ou Nornir.
  • Converter arquivos de configuração ou logs em JSON para análise posterior.
  • Alimentar pipelines de dados em Python com diagnósticos de rede ou do sistema.

Início rápido

  1. 1

    Instale o jc com pip

    pip3 install jc
  2. 2

    Encaminhe a saída do comando para o jc usando um parser, como o dig

    dig example.com | jc --dig

Antes de usar

  • A saída só será tão completa quanto o esquema compatível com cada parser; comandos não compatíveis não são convertidos.

Tópicos

Perguntas frequentes

O que é jc?
Ferramenta CLI e biblioteca Python que converte a saída de ferramentas de linha de comando, formatos de arquivo e strings comuns em JSON, YAML ou dicionários. jc converte a saída de texto de muitas ferramentas de linha de comando comuns do Linux, macOS e Windows, como dig, ls, ps, df e netstat, em JSON estruturado. Também interpreta formatos de arquivo comuns, como CSV, INI, YAML, TOML e certificados X.509, além de strings como URLs, endereços IP, JWTs e timestamps. Cada parser segue um schema definido e converte números, valores booleanos e valores nulos conhecidos para os tipos JSON apropriados.
jc é gratuito? Qual é a licença?
jc é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
jc ainda é mantido?
Manutenção ativa. O último commit de jc foi em 20 de out. de 2026.
Para que posso usar jc?
Interpretar a saída de comandos em scripts Bash sem depender de código frágil para processar texto. Extrair campos de comandos do sistema em automações com Ansible, Salt ou Nornir. Converter arquivos de configuração ou logs em JSON para análise posterior. Alimentar pipelines de dados em Python com diagnósticos de rede ou do sistema.
Como instalar jc?
Instale o jc com pip: pip3 install jc Encaminhe a saída do comando para o jc usando um parser, como o dig: dig example.com | jc --dig
Onde consigo jc?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kellyjonbrazil/jc

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados