Как установить upstart по умолчанию в Debian?

jq по сути является фильтром, поэтому .docs[0] ограничивает данные, доступные остальной части скрипта, тем, что он выбрал. В конце программы выводится все, что находится в потоке. Таким образом, + { ... } видит только один объект, и его вывод используется как вывод всей программы.

Если вместо этого вы хотите изменить один из выбранных вами элементов, используйте += , который является псевдонимом для оператора присваивания обновления |= . + ... :

jq '.docs[1] += { "value": "value" }' < ...

Вы могли бы эквивалентно написать обессахаранный

jq '.docs[1] |= . + { "value": "value" }' < ...

В любом случае он заменяет текущее значение (то, что . было, когда вы начали) с результатом применения изменения вы описываете элемент(ы), которые вы выбрали. Это новое значение передается по конвейеру, в данном случае сразу на выходной каскад.

1
13.08.2015, 10:25
0 ответов

Теги

Похожие вопросы