Как прокомментировал pizdelect, вот решение:https://raw.githubusercontent.com/brgl/busybox/master/shell/cttyhack.c.
Я просто использую ::respawn:/bin/cttyhack /bin/sh
.
Предположим, что каждый data
элемент имеет не более одного элемента в массиве .LIST.ID
, чей name
равенUS
:
jq -r <file '.data[] |
[.name, (.LIST.ID[] | select(.name == "US").value)? // null ] |
@csv'
Что он делает:
data
; data
создает массив из двух -элементов (, необходимый для форматирования CSV ), состоящий из :name
каждого элемента data
; value
элемента массива .LIST.ID
, у которого name
равно US
, если есть (null
, если нет; вы можете использовать ""
вместо null
, чтобы получить поле с двойными кавычками в выводе CSV вместо полностью пустого поля ); ?
после выражения в скобках гарантирует отсутствие ошибок, даже если элементы .LIST
или .ID
полностью отсутствуют;