【发布时间】:2015-10-12 07:19:27
【问题描述】:
我有这样的 jq 命令:
jq --arg ts "$TS" '.Date = $ts, .Marker.Date = $ts, .InfoFromTerminator.Timestamp = $ts'
但它似乎只替换了最后一项,保持前两项不变。如何重写查询以替换所有 3 个参数?
【问题讨论】:
我有这样的 jq 命令:
jq --arg ts "$TS" '.Date = $ts, .Marker.Date = $ts, .InfoFromTerminator.Timestamp = $ts'
但它似乎只替换了最后一项,保持前两项不变。如何重写查询以替换所有 3 个参数?
【问题讨论】:
逗号是jq中的运算符:
即使是逗号运算符也是一个生成器,首先生成值 由逗号左侧的表达式生成,然后对于每个 那些,由右边的表达式生成的值 逗号。
可以通过从一个过滤器/分配到下一个过滤器/分配的管道来更改多个元素,如下所示:
jq --arg ts "$TS" '.Date = $ts | .Marker.Date = $ts | .InfoFromTerminator.Timestamp = $ts'
【讨论】: