JC Cheatsheet
JSONifies the output of many CLI tools and file-types for easier parsing in scripts.
Basic Usage
bash
command | jc --parser # Pipe output jc command # Magic syntax jc --help # List all parsers jc --help --parser # Parser docs
Examples
bash
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
bash
cat file.txt | jc 1:-1 --parser # Skip first/last lines
Slurp Mode
For multi-line parsers: --slurp outputs array
bash
cat ips.txt | jc --slurp --ip-address
Python Library
python
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