是否可以在过滤器中打印文档的某些部分,然后继续向下选择并稍后打印更多内容?
这是我想要的伪代码。
{
"version":"1",
"some":{
"more":{
"depth":"here"
}
}
}
select(.some.more.depth=="here") | tee .version | .some.more.depth
这将输出
"1"
"here"
我知道,在这种情况下,它可以与.version, .some.more.depth
一起使用,但在更复杂的情况下,它更多的是关于在打印零件的同时处理文档。
https://jqplay.org/s/n7WjphEVf7
不仅仅是在这种情况下,无论如何。这就是逗号运算符的作用,也是它的用途。它在同一上下文中运行两个表达式,并生成两个表达式的所有输出。请记住,您始终可以使用括号,因此执行以下操作是合法
的.a.b.c | (.d, .e.f | (.g, .h))
生产.a.b.c.d
、.a.b.c.e.f.g
和.a.b.c.e.f.h