我正在尝试筛选此JSON output的标记
通过Tags[]进行选择,如果键存在,则显示所选值。
我的jq过滤器看起来像这样:
jq -r ".Reservations[]
| [.OwnerId,
.Instances[].InstanceId,
.Instances[].Placement.AvailabilityZone,
(.Instances[].Tags[]?|select(.Key==OtherTag)|.Value),
(.Instances[].Tags[]?|select(.Key==Name)|.Value) ]
| @csv"
输出如下
"xxxxxxxxxx9,i-d414ce0b,ap-southeast-2b,webserver2"
我想它包括无根据的选择标签,并填写它作为csv中的空字段,如下所示:
"xxxxxxxxxx9,i-d414ce0b,ap-southeast-2b,,webserver2"
我在jq中应该做些什么来达到这个目的呢?有人能给予我举个例子吗?
3条答案
按热度按时间mbskvtky1#
使用
filter/1
代替select/1
,其中:wtzytmuj2#
以下是使用from_entries处理
.Tags
的解决方案628mspwn3#
您可以使用替代运算子
//
:输出量: