У меня есть проект. json файл и его содержимое выглядят так:
{
"packageDirectories": [
{
"path": "sfdx-source/unpackaged"
},
{
"path": "sfdx-source/untracked"
},
{
"path": "sfdx-source/zipsc",
"package": "ZipSC",
"versionName": "Version 0.1",
"versionNumber": "0.1.0.NEXT",
"ancestorId":"oldValue",
"default": true
},
{
"path": "sfdx-source/unpackaged/open-cti",
"package": "OpenCTI",
"versionName": "Ver 0.3",
"versionNumber": "0.3.0.NEXT",
"ancestorId": "04t1P000000cB425QAE",
"default": false
}
],
"sfdcLoginUrl": "https://login.salesforce.com",
"sourceApiVersion": "47.0",
"namespace": "ZAR",
"packageAliases": {
"ZAR": "0Ho1P000000XZA4SAO",
"OpenCTI": "0Ho1P000000X3AvSAO"
}
}
Я хочу изменить поле ancestorId для объектов packageDirectory, где значение по умолчанию - true. В этом случае oldValue в примере должно стать newValue. Вывод должен быть следующим. Как мне сделать это с JQ на сценарий оболочки.
{
"packageDirectories": [
{
"path": "sfdx-source/unpackaged"
},
{
"path": "sfdx-source/untracked"
},
{
"path": "sfdx-source/zipsc",
"package": "ZipariSC",
"versionName": "Version 0.1",
"versionNumber": "0.1.0.NEXT",
"ancestorId":"newValue",
"default": true
},
{
"path": "sfdx-source/unpackaged/open-cti",
"package": "OpenCTI",
"versionName": "Ver 0.3",
"versionNumber": "0.3.0.NEXT",
"ancestorId": "04t1P000000cB425QAE",
"default": false
}
],
"sfdcLoginUrl": "https://login.salesforce.com",
"sourceApiVersion": "47.0",
"namespace": "ZAR",
"packageAliases": {
"ZAR": "0Ho1P000000XZA4SAO",
"OpenCTI": "0Ho1P000000X3AvSAO",
}
}