我正在使用jq进行一些json操作。场景是我有一个json文件和许多其他包含json或字符串的文件,我想将它们合并为一个输出。
main.json 包含:
{
"property1": "someValue","sub": {
"property2": "property2"
}
}
.property1 (这是文件名)包含:
newValue
.sub.property2 (这是文件名)包含:
newProperty2
.other (这是文件名)包含:
{
"complex": {
"cprop": "cpropvalue"
}
}
我想将这些文件合并在一起,使用文件名作为jq选择器,并使用文件的内容作为值。输出为:
{
"property1": "newValue","sub": {
"property2": "newProperty2"
},"other": {
"complex": {
"cprop": "cpropvalue"
}
}
}
用例是我有很多键/值对(例如,env vars),我想以通用方式合并到json配置文件中。
jq工具非常强大,但是我很难弄清楚该怎么做。如果最后一种情况(文件的内容是json)是不可能的,则前两种仍然非常有用。根据其他搜索,我认为所有部分都存在(文件名,输入等),但是我正在弄清楚如何组合它们。