返回 Skill 列表
extension
分类: 开发与工程无需 API Key

jc

将CLI输出转换为JSON,以便进行结构化处理和分析。当需要将ps、dig、netstat、ls或其他命令的输出解析为机器可读格式,并通过管道传递给jq或脚本时使用。

person作者: jakexiaohubgithub

jc

JSONifies the output of CLI tools and file-types for easier parsing.

Basic Usage

command | jc --parser          # Pipe output
jc command                    # Magic syntax
jc --help                     # List all parsers
jc --help --parser            # Parser docs

Examples

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

Parsers

| Category | Parsers | | -------- | -------------------------------------------------------- | | System | ps, top, free, df, du, ls, stat, uptime | | Network | dig, ping, traceroute, netstat, ss, ifconfig | | Files | ls, find, stat, file, mount, fstab | | Packages | dpkg -l, rpm -qi, pacman, brew | | Logs | syslog, clf (Common Log Format) | | Dev | git log, docker ps, kubectl |

Options

| Flag | Description | | ---- | --------------------------- | | -p | Pretty format JSON | | -r | Raw output (less processed) | | -u | Unbuffered output | | -q | Quiet (suppress warnings) | | -d | Debug mode | | -y | YAML output | | -M | Add metadata | | -s | Slurp multi-line input |

Slicing

Skip lines: START:STOP syntax

cat file.txt | jc 1:-1 --parser  # Skip first/last lines

Slurp Mode

For multi-line parsers: --slurp outputs array

cat ips.txt | jc --slurp --ip-address

Python Library

import jc

# Parse command output
data = jc.parse('dig', output_string)

# Or parse directly
data = jc.parsers.dig.parse(output_string)

Tips

  • Magic syntax: jc command auto-detects parser
  • Use jq for processing: jc cmd | jq '.field'
  • --slurp for multiple items per file
  • Streaming parsers for large outputs
  • Python lib returns dict/list, not JSON

Related Skills

  • nu-shell: Alternative structured data processing
  • toon: Compact JSON representation