Repolode
kellyjonbrazil

kellyjonbrazil/jc

一个命令行工具和 Python 库,可将常见命令行工具、文件格式和字符串的输出转换为 JSON、YAML 或字典。

Star
8,694
Fork
269
未关闭 Issue
29
最近提交
3天前

这是什么?

jc 可以把许多常见命令行工具的文本输出转换为结构化 JSON,支持 dig、ls、ps、df、netstat 等常用命令。它还能解析 CSV、INI、YAML、TOML、X.509 证书等文件格式,以及 URL、IP 地址、JWT、时间戳等字符串。每个解析器都有固定的数据结构,已知的数字、布尔值和空值会转换为对应的 JSON 类型。

转换结果可以通过管道交给 jq、jello 等工具处理,也可以用“魔法”语法直接在命令前加上 jc。在 Python 中,jc 的 parse() 函数会返回字典、字典列表或惰性迭代器,便于在脚本中直接使用。项目可通过 pip 安装,也可通过多个操作系统的包管理器获取,并已作为 Ansible 过滤器插件收录于 community.general 集合中。

核心功能

  • 01将多种命令行工具的输出转换为 JSON,每个解析器结构固定。
  • 02支持解析 CSV、YAML、TOML 等文件格式以及 URL、JWT 等字符串。
  • 03可与 jq 等工具配合使用管道,也可作为 Python 库返回字典。
  • 04部分命令提供流式解析器,便于惰性处理大量输出。
  • 05可通过 pip、系统包管理器或预编译二进制文件安装。

适用场景

  • 在 Bash 脚本中解析命令输出,避免编写脆弱的文本处理代码。
  • 在 Ansible、Salt、Nornir 等自动化工具中提取系统命令的字段。
  • 将配置文件或日志转换为 JSON 以便进一步分析。
  • 把网络或系统诊断结果接入 Python 数据处理流程。

快速上手

  1. 1

    使用 pip 安装 jc

    pip3 install jc
  2. 2

    将命令输出通过管道交给 jc 解析,例如 dig

    dig example.com | jc --dig

使用前须知

  • 输出的完整性取决于每个解析器支持的格式;不支持的命令无法转换。

标签

常见问题

jc 是什么?
一个命令行工具和 Python 库,可将常见命令行工具、文件格式和字符串的输出转换为 JSON、YAML 或字典。 jc 可以把许多常见命令行工具的文本输出转换为结构化 JSON,支持 dig、ls、ps、df、netstat 等常用命令。它还能解析 CSV、INI、YAML、TOML、X.509 证书等文件格式,以及 URL、IP 地址、JWT、时间戳等字符串。每个解析器都有固定的数据结构,已知的数字、布尔值和空值会转换为对应的 JSON 类型。
jc 可以免费使用吗?用的什么许可证?
jc 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
jc 还在维护吗?
活跃维护中。jc 最近一次提交是在 2026年10月20日。
jc 适合用来做什么?
在 Bash 脚本中解析命令输出,避免编写脆弱的文本处理代码。 在 Ansible、Salt、Nornir 等自动化工具中提取系统命令的字段。 将配置文件或日志转换为 JSON 以便进一步分析。 把网络或系统诊断结果接入 Python 数据处理流程。
jc 怎么安装和运行?
使用 pip 安装 jc: pip3 install jc 将命令输出通过管道交给 jc 解析,例如 dig: dig example.com | jc --dig
在哪里获取 jc?
源代码和安装说明在 GitHub 上:https://github.com/kellyjonbrazil/jc

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目