サブコマンド、フラグ、シェル補完、ヘルプ生成に対応した、CLI構築用の宣言的なGoパッケージ。
TomWright/dasel
JSON、YAML、TOML、XML、CSVなどの構造化データを、共通のセレクター構文で検索・変更できるCLIツール兼Goライブラリ。
- スター
- 8,050
- フォーク
- 178
- 未解決の Issue
- 25
- 最終コミット
- 10 日前
これは何?
Dasel(Data-Selectの略)は、共通のセレクター構文を使って、コマンドラインから構造化データの読み取り、更新、変換を行えます。同じ式をJSON、YAML、TOML、XML、CSV、HCL、INI、KDLで使えるため、形式ごとに異なるツールやクエリ言語を用意する必要はありません。
値の抽出に加えて、フィールドの更新・追加・削除によるファイルの直接編集や、JSONからYAML、TOMLからJSONといった形式間の変換にも対応しています。また、再帰下降(..)や、ドキュメント内の任意の場所にある値を照合するsearch関数も利用できます。
Daselは、Homebrew、go install、ビルド済みリリースを通じてCLIバイナリとして配布されており、Goライブラリとしてインポートすることもできます。Bash、Zsh、Fish、PowerShell向けのシェル補完も利用できます。
主な機能
- 01JSON、YAML、TOML、XML、CSV、HCL、INI、KDLで共通のセレクター構文を使えます。
- 02構造化ファイル内の値を直接更新・追加・削除できます。
- 03対応形式間でデータを変換できます。
- 04ドキュメント全体を対象に、再帰下降や条件検索を利用できます。
- 05Bash、Zsh、Fish、PowerShell向けのシェル補完を提供します。
- 06Goライブラリとしてインポートできます。
ユースケース
- シェルスクリプトやCIパイプラインからYAMLまたはJSONの設定ファイルを編集する。
- 設定ファイルを別の形式に変換する。
- ターミナルからAPIレスポンスやデータファイルの特定のフィールドを抽出する。
- DevOpsワークフローで構造化ファイル内の値を一括更新する。
クイックスタート
- 1
Homebrewでインストール(macOS/Linux)
brew install dasel - 2
またはGoでインストール
go install github.com/tomwright/dasel/v3/cmd/dasel@master - 3
Releasesページからビルド済みバイナリをダウンロード(Linux、macOS、Windows)
- 4
JSON入力で最初のクエリを実行
echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
収録されている特集
トピック
よくある質問
- dasel とは?
- JSON、YAML、TOML、XML、CSVなどの構造化データを、共通のセレクター構文で検索・変更できるCLIツール兼Goライブラリ。 Dasel(Data-Selectの略)は、共通のセレクター構文を使って、コマンドラインから構造化データの読み取り、更新、変換を行えます。同じ式をJSON、YAML、TOML、XML、CSV、HCL、INI、KDLで使えるため、形式ごとに異なるツールやクエリ言語を用意する必要はありません。
- dasel は無料で使えますか?ライセンスは?
- dasel は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dasel は今もメンテナンスされていますか?
- 活発にメンテナンス中。dasel の最終コミットは 2026年10月15日 です。
- dasel は何に使えますか?
- シェルスクリプトやCIパイプラインからYAMLまたはJSONの設定ファイルを編集する。 設定ファイルを別の形式に変換する。 ターミナルからAPIレスポンスやデータファイルの特定のフィールドを抽出する。 DevOpsワークフローで構造化ファイル内の値を一括更新する。
- dasel のインストール方法は?
- Homebrewでインストール(macOS/Linux): brew install dasel またはGoでインストール: go install github.com/tomwright/dasel/v3/cmd/dasel@master Releasesページからビルド済みバイナリをダウンロード(Linux、macOS、Windows) JSON入力で最初のクエリを実行: echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
- dasel はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/TomWright/dasel
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
JSON、YAML、CSV、XMLをインタラクティブなグラフに変換し、形式変換やコード生成もできるオープンソースのJSONエディター。
HTTP、ネットワーク、データベース、XML/JSON、ログ機能を備えた、ネットワーク中心のアプリケーション構築向けクロスプラットフォームC++クラスライブラリ。
標準の型アノテーションを使ってJSON、MessagePack、YAML、TOMLをエンコード・デコードする、高速なPythonシリアライズ・バリデーションライブラリ。
正確さ・速度・シンプルさを重視したRust製jqクローン。jq互換CLIとしてもライブラリとしても使えます。
Ghosttyの設定を視覚的に作成し、最小限の設定ファイルとして出力できるWebツール。