Repolode
kellyjonbrazil

kellyjonbrazil/jc

Herramienta CLI y biblioteca de Python que convierten la salida de herramientas de línea de comandos, formatos de archivo y cadenas habituales en JSON, YAML o diccionarios.

Estrellas
8,694
Forks
269
Issues abiertos
29
Último commit
hace 3 días

¿Qué es?

jc convierte en JSON estructurado el texto que generan muchas herramientas de línea de comandos habituales de Linux, macOS y Windows, como dig, ls, ps, df y netstat. También analiza formatos de archivo comunes, como CSV, INI, YAML, TOML y certificados X.509, además de cadenas como URL, direcciones IP, JWT y marcas de tiempo. Cada parser sigue un esquema definido y convierte los números, valores booleanos y valores nulos conocidos a sus tipos JSON correspondientes.

La salida se puede canalizar a herramientas como jq o jello, o bien ejecutar jc con una sintaxis «mágica» que lo coloca directamente antes de un comando. Los desarrolladores también pueden usar jc como biblioteca de Python, donde parse() devuelve diccionarios o iterables diferidos de diccionarios. Hay un modo raw para obtener el JSON sin procesar.

El proyecto se puede instalar con pip y está disponible en muchos gestores de paquetes de sistemas operativos. También se distribuye como plugin de filtro de Ansible en la colección community.general.

Funciones clave

  • 01Convierte la salida de muchas herramientas de línea de comandos en JSON, con un esquema fijo para cada parser.
  • 02Analiza formatos de archivo y cadenas habituales, como CSV, YAML, TOML, URL y JWT.
  • 03Funciona en pipelines de shell con herramientas como jq o como biblioteca de Python que devuelve diccionarios.
  • 04Ofrece parsers en streaming para algunos comandos, que permiten procesar grandes salidas de forma diferida.
  • 05Se puede instalar con pip, gestores de paquetes de sistemas operativos o binarios precompilados.

Casos de uso

  • Analizar la salida de comandos en scripts de Bash sin recurrir a código frágil de procesamiento de texto.
  • Extraer campos de comandos del sistema para automatizaciones con Ansible, Salt o Nornir.
  • Convertir archivos de configuración o registros en JSON para analizarlos después.
  • Incorporar diagnósticos de red o del sistema a pipelines de datos de Python.

Inicio rápido

  1. 1

    Instala jc con pip

    pip3 install jc
  2. 2

    Redirige la salida del comando a jc con un parser, como dig

    dig example.com | jc --dig

Antes de usarlo

  • La salida solo será tan completa como el esquema que admita cada parser; los comandos no compatibles no se convierten.

Temas

Preguntas frecuentes

¿Qué es jc?
Herramienta CLI y biblioteca de Python que convierten la salida de herramientas de línea de comandos, formatos de archivo y cadenas habituales en JSON, YAML o diccionarios. jc convierte en JSON estructurado el texto que generan muchas herramientas de línea de comandos habituales de Linux, macOS y Windows, como dig, ls, ps, df y netstat. También analiza formatos de archivo comunes, como CSV, INI, YAML, TOML y certificados X.509, además de cadenas como URL, direcciones IP, JWT y marcas de tiempo. Cada parser sigue un esquema definido y convierte los números, valores booleanos y valores nulos conocidos a sus tipos JSON correspondientes.
¿jc es gratuito? ¿Qué licencia tiene?
jc es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿jc sigue mantenido?
Mantenimiento activo. El último commit de jc fue el 20 oct 2026.
¿Para qué puedo usar jc?
Analizar la salida de comandos en scripts de Bash sin recurrir a código frágil de procesamiento de texto. Extraer campos de comandos del sistema para automatizaciones con Ansible, Salt o Nornir. Convertir archivos de configuración o registros en JSON para analizarlos después. Incorporar diagnósticos de red o del sistema a pipelines de datos de Python.
¿Cómo se instala jc?
Instala jc con pip: pip3 install jc Redirige la salida del comando a jc con un parser, como dig: dig example.com | jc --dig
¿Dónde consigo jc?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kellyjonbrazil/jc

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados