2 个版本
0.1.1 | 2022 年 1 月 3 日 |
---|---|
0.1.0 | 2022 年 1 月 3 日 |
2419 在 命令行工具
14KB
323 行
yquery
yquery 是一个程序,它使用选择器在您的 yaml 文档中查找元素。有点像 jQuery 对 CSS 做的事情。
目录
特性
yquery 是一个命令行工具,目前它接受一个文件和一个 '搜索查询'。然后它将遍历文档,寻找符合搜索查询的文档元素。我目前正在开发多文件支持,这样您也可以搜索目录。
示例
一个 '搜索查询' 由三部分组成:一个元素名称、一个子元素指定器和 ID 选择。它以以下形式给出:ElementA[childname=name].id
。每个部分可以有多个实例:(ElementA|ElementB)[childname=name,childage=age].(id,name)
。如果只给出了元素名称部分,输出将是找到的整个元素,如下面的第一个示例所示。如果指定了 ID 选择部分,您将只收到这些特定的,如下面的第二个示例所示。
未设置 ID 指定器的示例
[mads@Adria][~/projects/yquery]% yquery documents/verify_apache.yaml "service"
service: { name: httpd, state: started}
service: { name: httpd, state: restarted}
设置 ID 指定器的示例
[mads@Adria][~/projects/yquery]% yquery documents/verify_apache.yaml "service.name"
httpd
httpd
安装
目前 yquery 不在任何一个我所知道的软件包管理器中。因此,为了安装它,您需要自己构建此工具。
构建
您还可以从源代码构建和安装(需要最新的稳定版 Rust 编译器)。
cargo install --git https://github.com/madsravn/yquery.git yquery
常见问题
可能由于我编写的用于解析搜索查询的语法导致了一些问题。如果您对您的查询是否被正确理解表示怀疑,请运行程序时带上第三个参数。然后它将输出它如何理解您的搜索查询。
版权和许可证
此工具及其源代码根据 GNU GPLv3 许可证授权。
依赖关系
~3MB
~63K SLoC