我需要下载应用程序 JAR 来执行,并且我设法在我的脚本中找到了这一步:
jq '.files[] | select(.uri | contains("RELEASE") and contains(".jar"))'
这给了我一堆看起来像这样的多个块的结果:
{
other versions
}
{
"uri": "/2.0.6-RELEASE/app-name-2.0.6-RELEASE.jar",
"size": 32981192,
"lastModified": "2020-02-05T14:21:06.728-05:00",
"folder": false,
"sha1": "whatever",
"sha2": "whatever2",
"mdTimestamps": {
"properties": "2020-02-05T14:21:13.468-05:00"
}
}
根据文档,我尝试将其扩展到:
jq '.files[] | select(.uri | contains("RELEASE") and contains(".jar")) | max_by(.lastModified)'
但它返回错误
jq: error (at <stdin>:3284): Cannot index string with string "lastModified"
文档在将所有不同的搜索过滤器组合在一起时含糊不清。我不确定什么是正确的语法,拜托。
我的目标:只检索一个元素,理想情况下只检索 URI 字符串,这样我就可以在我的下一个命令中直接使用它来获取 JAR,而无需进一步处理。
我还尝试了带有后缀的 max_by 的记录语法:| {uri}
- 相同的错误。