我已经弄清楚了如何使用 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)