jc
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 commandauto-detects parser - Use
jqfor processing:jc cmd | jq '.field' --slurpfor 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
More from knoopx/pi
nix-flakes
Creates reproducible builds, manages flake inputs, defines devShells, and builds packages with flake.nix. Use when initializing Nix projects, locking dependencies, or running nix build/develop commands.
54scraping
Fetches web pages, parses HTML with CSS selectors, calls REST APIs, and scrapes dynamic content. Use when extracting data from websites, querying JSON APIs, or automating browser interactions.
48jscpd
Finds duplicate code blocks and analyzes duplication metrics across files. Use when identifying copy-pasted code, measuring technical debt, or preparing for refactoring.
45yt-dlp
Downloads videos from YouTube and other sites using yt-dlp. Use when downloading videos, extracting metadata, or batch downloading multiple files.
42nix
Runs packages temporarily, creates isolated shell environments, and evaluates Nix expressions. Use when executing tools without installing, debugging derivations, or working with nixpkgs.
42skill-authoring
Writes effective pi skills with proper structure, concise content, and progressive disclosure. Use when creating new skills, improving existing skills, or reviewing skill quality.
41