Самый простой способ изменить файл конфигурации JSON - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть файлы разных размеров (n записей), такие как:

{
    "FOO": {
        "myParameters": ["first", "second", "third", "forth", "fifth"]
    },
    "bar": {
        "myParameters": ["first", "third"]
    },
    "BAZQUUX": {
        "myParameters": ["first", "second", "third", "forth", "fifth", "sixth", "seventh", "eighth", "ninth"]
    }
}

, и я хотел бы изменить его следующим образом:

{
    "FOO": {
        "myParameters": ["first", "third"]
    },
    "bar": {
        "myParameters": ["first", "third"]
    },
    "BAZQUUX": {
        "myParameters": ["first", "third"]
    }
}

Так что bar свойство объекта myParameters (массив, содержащий два элемента) должен быть шаблоном для всех оставшихся объектов ( FOO , BAZQUUX и т. Д.)слева, они должны принять свойство bar , отбрасывая их существующие свойства.

Есть ли простой способ добиться этого с помощью jq?

Мне нужно это для партиисценарий.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете попробовать следующий скрипт jq:

<file jq '.bar as $b | .[] |= $b'

Это назначит объект bar переменной $b и заменит все элементы этой переменной.

...