gpt4 book ai didi

jmespath - 将属性与数字文字进行比较

转载 作者:行者123 更新时间:2023-12-05 02:18:14 27 4
gpt4 key购买 nike

我正在尝试查找恰好具有 2 个内核的所有虚拟机:

$ az vm list-sizes -o json --query "[?numberOfCores == 2]"
az vm list-sizes: error: argument --query: invalid query value: '[?numberOfCores == 2]'

因为我怀疑 az 命令出错,所以我安装了 jp directly ,但它也报错:

$ az vm list-sizes -o json | jp "[?numberOfCores == 2]"
SyntaxError: Invalid token: tNumber
[?numberOfCores == 2]

the jmespath specification 中,看起来我必须使用反引号 ` 字符,但它没有给出错误,而是没有给出任何结果:

$ az vm list-sizes -o json | jp '[?numberOfCores == `2`]'
[]

这是我要过滤的(缩写的)返回的 json:

$ az vm list-sizes -o json | head -n 20
[
{
"maxDataDiskCount": 4,
"memoryInMb": 123,
"name": "Standard_DS1",
"numberOfCores": 1,
"osDiskSizeInMb": 456,
"resourceDiskSizeInMb": 789
},
{
"maxDataDiskCount": 8,
"memoryInMb": 123,
"name": "Standard_DS2",
"numberOfCores": 2,
"osDiskSizeInMb": 456,
"resourceDiskSizeInMb": 789
}
]

(我混淆了大小,因为我不想被 MS 起诉共享商业 secret 或其他东西)

最佳答案

您的 JMESPath 查询是正确的,但是 jp 的自制版本的构建方式存在问题(它使用过时的脚本来构建 jp 二进制文件).现在 jp 的自制安装版本将始终使用来自 https://github.com/jmespath/jp/releases 的签名发布二进制文件.这些二进制文件在每次提交时都经过测试。您应该能够 brew update && brew upgrade jp,或使用来自 https://github.com/jmespath/jp/releases 的二进制文件如果您不使用自制软件。

关于jmespath - 将属性与数字文字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46130856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com