Repolode
kellyjonbrazil

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. 1

    pip で jc をインストールします

    pip3 install jc
  2. 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 の数値は毎日更新されます。

関連プロジェクト