Обработка null (пустой массив) при преобразовании json в csv с помощью jq?

Если вы хотите очистить файлы конфигурации от программы, которую вы недавно удалили с помощью системы RPM, все, что вам нужно сделать, это ввести :yum очистить все

1
16.07.2019, 06:14
1 ответ

Вы можете использовать Подавление ошибок/Дополнительный оператор :? блок для противодействия вызову пустого массива и возврата без выдачи каких-либо ошибок на консоль как

printf '[]' | jq -r '.? |(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv'

, где .?также можно записать явно, используя блок catch tryкак try.?, а за ним следует остальная часть фильтра. Часть фильтра после необязательного оператора пропускается, если выражение не выполняется.

5
27.01.2020, 23:30

Теги

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