#kdl #transform #document #query #command-line #cli-tool #config

bin+lib kq

一个类似于 jq 的命令行工具,可以在命令行中查询和转换 kdl

5 个版本 (稳定版)

1.0.6 2021 年 10 月 22 日
1.0.4 2021 年 10 月 19 日
0.1.0 2021 年 9 月 13 日

#2032命令行工具

自定义许可

53KB
1.5K SLoC

kq

Crates.io - version Crates.io - download docs.rs

一个类似于 jq 的命令行工具,可以在命令行中查询和转换KDL文档。

||映射操作符目前不支持。

安装

预构建的二进制文件

您可以在发布页面找到 Linux、macOS 和 Windows 的预构建二进制文件。

Cargo

$ cargo install kq

容器

$ docker run ghcr.io/jihchi/kq -v

用法

$ kq -h
Usage: kq [options] <selector>

Options:
    -h, --help          print this help menu
    -v, --version       print the version

示例

修改自 https://github.com/kdl-org/kdl/blob/1.0.0/QUERY-SPEC.md#examples

给定以下内容

$ cat example.kdl
package {
    name "foo"
    version "1.0.0"
    dependencies platform="windows" {
        winapi "1.0.0" path="./crates/my-winapi-fork"
    }
    dependencies {
        miette "2.0.0" dev=true
    }
}
$ cat example.kdl | kq "package name"
name "foo"
$ cat example.kdl | kq "dependencies"
dependencies platform="windows" {
    winapi "1.0.0" path="./crates/my-winapi-fork"
}
dependencies {
    miette "2.0.0" dev=true
}
$ cat example.kdl | kq "dependencies[platform]"
dependencies platform="windows" {
    winapi "1.0.0" path="./crates/my-winapi-fork"
}
$ cat example.kdl | kq "dependencies > []"
winapi "1.0.0" path="./crates/my-winapi-fork"
miette "2.0.0" dev=true

依赖项

~4MB
~74K SLoC