jc
是一個命令列工具和 Python 函式庫,用於將常見 CLI 命令輸出、檔案類型和字串轉換成 JSON、YAML 或 Python 字典格式。完整介紹參閱作者 @kellyjonbrazil 的 repo。
用法
將命令輸出通過管道傳送給 jc
:
command | jc --parser-name`
或者
jc command
例如
netstat -apee | jc --netstat
注意事項
- 建議將語系環境變數設定為 C 或 en_US.UTF-8。
- 除非時間戳欄位名稱有
_utc
後綴,否則視為本地時區。 - 部分解析器可能只支援特定平台。
- 可以直接處理串流解析器(如
ls-s
和ping-s
)
哲學觀
傳統的 Unix/Linux 工具輸出的是人眼好讀,但機器不方便自動化的結果。如果要自動化,有必要統一並結構化其結果。有一部分新的工具有提供 JSON 輸出選項,但不常見。
ifconfig ens33 | jc --ifconfig | jq -r '.[].ipv4_addr'
取得特定網口的 IP。先使用 jc
取得結構化資料,再用 jq
取得特定欄位資料。