Вы столкнулись с чем-то, что происходит перед каждым выпуском OpenBSD. OpenBSD разрабатывается «единым путем»:исходное дерево помечено как 6.4, выпущен релиз, разработка продолжается около 6 месяцев и доступна в виде моментальных снимков, пока разработчики не обнаружат, что что-то изменилось и достаточно стабильны, чтобы гарантировать новый выпуск, после чего дерево помечается как 6.5 и так далее.
Это означает, что в течение короткого периода времени (, то есть за несколько дней до нового выпуска ), ядро помечается как «6.5» вместо «snapshot». Когда вы используете pkg_add
, он будет искать пакеты для ядра, которое вы используете, он будет искать пакеты «6.5», которые будут доступны только позже, поэтому no such directory
. Как ответил Руфо, добавление -D snap
к pkg_add
решит (временную )проблему, заставив pkg_add
искать "моментальные" пакеты даже с "релизным" ядром. Изman pkg_add
:
snap
Force ‘%c’ and ‘%m’ to expand to ‘snapshots’, even on a release kernel
Очевидно, что это не идеально, но это время -проверено, и это то, что лучше работает для разработчиков OpenBSD (см. презентацию, указанную выше, чтобы узнать больше о разработке релизов OpenBSD ). Добавление -D snap
за несколько дней до релизов раз в два месяца — небольшая цена за использование снапшотов.
Учитывая документ JSON, который в настоящее время находится в вопросе, следующая команда jq
преобразует его в форму CSV, соответствующую формату таблицы, который вы показываете, включая заголовок таблицы:
jq -r '["Status","Value","Result"],
(.result.difs[] | [.type,.entity,.result]) | @csv' file.json
Сначала создается массив значений для каждой строки, которую нужно преобразовать в CSV, а затем используется встроенный оператор -in @csv
для создания данных CSV с правильными кавычками.
Результатом для примера документа JSON будет
"Status","Value","Result"
"In Progress","Phone","added"
"Completed","SMS","added"
"Scheduled","Web","added"
Позже это можно будет импортировать в любую программу для работы с электронными таблицами, которую вы хотите использовать для создания таблицы.
Обработав -это с помощью cvslook
из csvkit
набора инструментов командной строки для анализа CSV, вы можете получить уцененный вариант таблицы:
jq -r '["Status","Value","Result"],
(.result.difs[] | [.type,.entity,.result]) | @csv' file.json |
csvlook
Это выведет
| Status | Value | Result |
| ----------- | ----- | ------ |
| In Progress | Phone | added |
| Completed | SMS | added |
| Scheduled | Web | added |
, который при рендеринге как уценка будет выглядеть как
Статус | Значение | Результат |
---|---|---|
Выполняется | Телефон | добавлено |
Завершено | СМС | добавлено |
Запланировано | Интернет | добавлено |