конфигурация ssh :глобальные настройки и `хост*`

Поскольку ваш массив charactersне является правильным массивом JSON, (это хэш, в котором все ключи имеют одинаковое имя ), будет доступно только последнее его значение.

Мы можем исправить это, предварительно обработав данные для создания уникальных ключей для каждого объекта, который теперь называетсяcharacater:

awk '/"characater"/ { sub("\"characater\"", "\"char" ++n "\"", $0) } 1' file.json

Это заменит каждый characaterна char1, char2и т. д.

Теперь мы можем получить доступ ко всем значениям в этом, например, с помощью.

jq -r '.frames.frame.lps.lp|.characters[]|[.code_ascii,.confidence]|@tsv'

Полный трубопровод:

awk '/"characater"/ { sub("\"characater\"", "\"char" ++n "\"", $0) } 1' file.json |
jq -r '.frames.frame.lps.lp|.characters[]|[.code_ascii,.confidence]|@tsv'

Результат (с учетом данных в вопросе):

1       97
5       89
4       97
5       97
1       77
B       97
B       94
L       34

Если вы управляете созданием документа JSON, вам следует рассмотреть возможность преобразования объекта charactersв правильный массив.

4
28.08.2020, 17:35
1 ответ

Документация по конфигурации SSH косвенно касается этого:

For each parameter, the first obtained value will be used. The configuration files contain sections separated by Host specifications, and that section is only applied for hosts that match one of the patterns given in the specification.

Since the first obtained value for each parameter is used, more host-specific declarations should be given near the beginning of the file, and general defaults at the end.

Таким образом, настройки на «верхнем» уровне не могут быть переопределены, тогда как настройки в Host *будут переопределены любой настройкой, определенной до этого раздела (на «верхнем» уровне или в разделе, соответствующем целевому хост ).

Это отвечает на вопрос «в каких случаях каждый из них предпочтительнее» :«верхний» уровень следует использовать для настроек, которые не следует переопределять, а секцию Host *, которая должна быть последней, следует использовать для настройки по умолчанию.

10
18.03.2021, 23:09

Теги

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