如何一次设置JQ中的多个路径值



我已经弄清楚了如何使用 setpath中的json文件中设置一个值。我可以使用模式吗?

cat package.json | jq 'setpath(["dependencies", "acme-a"]; "mytagname")'

我想做的就是使用以下模式,因此它还将路径设置为" acme-b"," acme-c",依此类推:

cat package.json | jq 'setpath(["dependencies", "acme-*"]; "mytagname")'

JQ是否支持这一点,如果是这样,它将如何完成?

.dependencies |= with_entries(
  if .key|test("^acme-") then .value = "mytagname" else . end )

一个人也可以使用" startswith"。使用"步行"可能是合适的。

要使用'setPath',一个人可以使用'redy'(例如使用"路径"(,例如:

reduce paths as $p (.;
  if $p[-1] | test("^acme-") then setpath($p; "mytagname") else . end)

相关内容

  • 没有找到相关文章

最新更新