#search-query #yaml #query #command-line-tool #tool #file-search #find

app yquery

yquery 是一个基于 jQuery 概念的 yaml-query 命令行工具。

2 个版本

0.1.1 2022 年 1 月 3 日
0.1.0 2022 年 1 月 3 日

2419命令行工具

GPL-3.0 许可证

14KB
323

yquery

Build status crates.io

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