SuperAPI AI 工具集

jc

数据与分析

查看项目

更新于 10-16 09:18

技能介绍

jc 是一个把命令行工具输出和文件类型内容转换为 JSON 的工具,目的是让这些原本面向人类阅读的文本更容易被解析、处理和分析。

用途 jc 主要用于将 CLI 命令的输出转换为结构化的 JSON 数据,方便后续用 jq 等工具处理,或在脚本、程序中进行结构化分析。它适用于解析 ps、dig、netstat、ls、ifconfig 等命令的输出,也支持多种文件类型和日志格式。

主要能力 jc 提供大量解析器,按类别包括:

  • 系统:ps、top、free、df、du、ls、stat、uptime
  • 网络:dig、ping、traceroute、netstat、ss、ifconfig
  • 文件:ls、find、stat、file、mount、fstab
  • 软件包:dpkg -l、rpm -qi、pacman、brew
  • 日志:syslog、clf(Common Log Format)
  • 开发:git log、docker ps、kubectl

使用方式 基本用法支持管道和“魔法语法”:

  • 管道:command | jc --parser
  • 魔法语法:jc command(自动检测解析器)
  • 查看所有解析器:jc --help
  • 查看某个解析器文档:jc --help --parser

示例:

  • dig example.com | jc --dig | jq '.answer[].data'
  • ps aux | jc --ps
  • ifconfig | jc --ifconfig

选项 jc 提供多种命令行选项:

  • -p:美化格式 JSON
  • -r:原始输出(较少处理)
  • -u:无缓冲输出
  • -q:静默(抑制警告)
  • -d:调试模式
  • -y:YAML 输出
  • -M:添加元数据
  • -s:合并多行输入(slurp)

切片 支持 START:STOP 语法跳过行,例如: cat file.txt | jc 1:-1 --parser # 跳过首行和末行

Slurp 模式 对于多行解析器,--slurp 会输出数组,例如: cat ips.txt | jc --slurp --ip-address

Python 库 jc 也提供 Python 库,可直接在代码中解析: import jc

解析命令输出

data = jc.parse('dig', output_string)

或直接调用解析器

data = jc.parsers.dig.parse(output_string) 注意:Python 库返回 dict/list,而不是 JSON 字符串。

技巧

  • 魔法语法:jc command 自动检测解析器
  • 使用 jq 处理:jc cmd | jq '.field'
  • 对每个文件中的多个项目使用 --slurp
  • 对大量输出使用流式解析器
  • Python 库返回 dict/list,不是 JSON

适用场景 适合需要把命令行输出接入脚本、管道或数据分析流程的场景,例如系统信息采集、网络诊断结果结构化、日志解析、开发工具输出处理等。

限制 资料未提供关于收费、价格、平台支持范围、性能指标或具体效果的信息,暂未提供。