サブコマンド、フラグ、シェル補完、ヘルプ生成に対応した、CLI構築用の宣言的なGoパッケージ。
kellyjonbrazil/jc
一般的なコマンドラインツールの出力、ファイル形式、文字列をJSON、YAML、辞書に変換するCLIツール兼Pythonライブラリ。
- スター
- 8,694
- フォーク
- 269
- 未解決の Issue
- 29
- 最終コミット
- 3 日前
これは何?
jcは、dig、ls、ps、df、netstatなど、Linux、macOS、Windowsでよく使われる多くのコマンドラインツールのテキスト出力を、構造化されたJSONに変換します。CSV、INI、YAML、TOML、X.509証明書などの一般的なファイル形式に加え、URL、IPアドレス、JWT、タイムスタンプといった文字列も解析できます。各パーサーには定義済みのスキーマがあり、既知の数値、真偽値、null値を適切なJSON型に変換します。
出力はjqやjelloなどのツールにパイプで渡せるほか、コマンドの直前にjcを置く「magic」構文でも実行できます。開発者はjcをPythonライブラリとして利用することもでき、parse()は辞書または遅延評価される辞書のイテラブルを返します。未加工のJSONを出力するrawモードも用意されています。
pipでインストールでき、多くのOSのパッケージマネージャーからも利用できます。また、community.generalコレクションのAnsibleフィルタープラグインとしてもパッケージ化されています。
主な機能
- 01多くのコマンドラインツールの出力を、パーサーごとに定義されたスキーマに沿ってJSONに変換します。
- 02CSV、YAML、TOML、URL、JWTなど、一般的なファイル形式や文字列を解析します。
- 03jqなどのツールとシェルのパイプラインで連携でき、辞書を返すPythonライブラリとしても利用できます。
- 04一部のコマンドにはストリーミングパーサーがあり、大量の出力を遅延評価で処理できます。
- 05pip、OSのパッケージマネージャー、またはビルド済みバイナリからインストールできます。
ユースケース
- 壊れやすいテキスト処理コードを書かずに、Bashスクリプトでコマンド出力を解析する。
- Ansible、Salt、Nornirの自動化で、システムコマンドからフィールドを抽出する。
- 設定ファイルやログファイルを、後続の分析に使えるJSONに変換する。
- ネットワークやシステムの診断結果をPythonのデータパイプラインに取り込む。
クイックスタート
- 1
pip で jc をインストールします
pip3 install jc - 2
dig などのパーサーを指定して、コマンドの出力を jc にパイプします
dig example.com | jc --dig
使う前に知っておきたいこと
- 出力の完全性は各パーサーがサポートするスキーマに依存します。サポートされていないコマンドは変換されません。
トピック
よくある質問
- jc とは?
- 一般的なコマンドラインツールの出力、ファイル形式、文字列をJSON、YAML、辞書に変換するCLIツール兼Pythonライブラリ。 jcは、dig、ls、ps、df、netstatなど、Linux、macOS、Windowsでよく使われる多くのコマンドラインツールのテキスト出力を、構造化されたJSONに変換します。CSV、INI、YAML、TOML、X.509証明書などの一般的なファイル形式に加え、URL、IPアドレス、JWT、タイムスタンプといった文字列も解析できます。各パーサーには定義済みのスキーマがあり、既知の数値、真偽値、null値を適切なJSON型に変換します。
- jc は無料で使えますか?ライセンスは?
- jc は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jc は今もメンテナンスされていますか?
- 活発にメンテナンス中。jc の最終コミットは 2026年10月20日 です。
- jc は何に使えますか?
- 壊れやすいテキスト処理コードを書かずに、Bashスクリプトでコマンド出力を解析する。 Ansible、Salt、Nornirの自動化で、システムコマンドからフィールドを抽出する。 設定ファイルやログファイルを、後続の分析に使えるJSONに変換する。 ネットワークやシステムの診断結果をPythonのデータパイプラインに取り込む。
- jc のインストール方法は?
- pip で jc をインストールします: pip3 install jc dig などのパーサーを指定して、コマンドの出力を jc にパイプします: dig example.com | jc --dig
- jc はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kellyjonbrazil/jc
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
シェル上でJSONを対話的に閲覧、折りたたみ、変換できるターミナル用JSONビューア兼プロセッサです。
JSON、YAML、CSV、XMLをインタラクティブなグラフに変換し、形式変換やコード生成もできるオープンソースのJSONエディター。
BYOKやローカルモデル、切断後も維持されるSSHセッション、インラインのファイルプレビューに対応した、macOS、Linux、Windows向けのオープンソースAI統合ターミナル。
複数ホストへの往復時間やコマンドの実行時間を、ターミナル上でグラフ表示するCLI pingツール。
標準の型アノテーションを使ってJSON、MessagePack、YAML、TOMLをエンコード・デコードする、高速なPythonシリアライズ・バリデーションライブラリ。