jq печатает родительское имя, значения и дочерние значения

x86 -64-процессорные процессоры от AMD и Intel, предшествовавшие -дате UEFI, поэтому какое-то время было обычным явлением видеть 64-разрядные -системы только со старыми BIOS -. Их по-прежнему можно загрузить с новыми ядрами, поэтому ваш Packard Bell должен быть в состоянии загрузиться.

Я не могу гарантировать, что ваш сбой не связан, но он легко может быть связан с чем-то другим.Попытка убить initозначает, что он загружен достаточно далеко для запуска init...

.
2
12.05.2021, 01:34
1 ответ

Как вы заметили, используя

jq '.parent_name2' file

или, если в качестве параметра указано имя раздела,

jq --arg parent 'parent_name2' '.[$parent]' file

не будет выводить объект JSON с parent_name2в качестве ключа верхнего уровня -.

Однако мы можем создать объект с необходимыми данными:

$ jq --arg parent 'parent_name2' '{($parent):.[$parent]}' file

При наличии очищенного варианта вашего примера документа будет получено

{
  "parent_name2": {
    "parent_count": 1000,
    "fields": {
      "field1_count": 1000,
      "field2_count": 1000,
      "fieldx_count": 100
    }
  }
}

В вашем втором запросе (только один запрос на вопрос в будущем, пожалуйста ), вы предположительно спрашиваете об именах ключей верхнего -уровня, соответствующих объектам, значение которых .parent_countменьше суммы соответствующий .fieldsсчитается.

jq -r 'del(.[] | select(.parent_count >= (.fields | add ))) | keys[]' file

Этот удаляет все разделы, в которых сумма значений .fieldsбольше или равна значению .parent_count. Затем он извлекает имена ключей верхнего уровня -всех оставшихся разделов.

3
28.07.2021, 11:33

Теги

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