我有这样的jq命令:
jq --arg ts "$TS" '.Date = $ts, .Marker.Date = $ts, .InfoFromTerminator.Timestamp = $ts'
但它似乎只替换保留前两个的最后一项。如何重写查询以替换所有3个参数?
答案 0 :(得分:6)
逗号是jq
中的运算符:
即使是逗号运算符也是生成器,首先生成值 由逗号左边的表达式生成,然后为每个表达式生成 那些,由右边的表达式生成的值 逗号。
更改多个元素可以通过从一个过滤器/分配到下一个过滤/分配来完成,如下所示:
jq --arg ts "$TS" '.Date = $ts | .Marker.Date = $ts | .InfoFromTerminator.Timestamp = $ts'