gpt4 book ai didi

arrays - jq:选择范围

转载 作者:行者123 更新时间:2023-12-02 02:10:09 24 4
gpt4 key购买 nike

TL;DR:给定一个包含一系列 key 对的输入文件,我想选择倒数第三对和倒数第四对。我可以单独获取它们,但如果可能的话,我想同时获取它们。这可以吗?

我的输入文件的结构如下;

[
{
"foo": "bar",
"foo2": "bar2"
},
{
"foo3": "bar3",
"foo4": "bar4"
},
{
"foo5": "bar5",
"foo6": "bar6"
},
{
"foo7": "bar7",
"foo8": "bar8"
},
{
"foo9": "bar9",
"foo10": "bar10"
}
]

我的输出应该是

[ 
{
"foo3": "bar3",
"foo4": "bar4"
},
{
"foo5": "bar5",
"foo6": "bar6"
}
]

我知道我可以执行 jq -s '.[-3]' 来获取倒数第三个(并用 4 交换倒数第四个),但这会抢占他们分开。

我从文档中认为 jq -s '.[-3;-4]' 会捕获两者,但这会引发错误。

我可以单独抓取它们并分别处理它们,但这是草率的代码。有没有更干净的方法来同时获取两者?

最佳答案

如果要选择数组中的值范围,可以使用切片语法:

<start-index>:<end-index>

请记住,结束索引是排他的(而不是包含的),并且应该是递增的顺序。

因此要获得倒数第三个/第四个:

.[-4:-2]

关于arrays - jq:选择范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548604/

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