Извлечение выходного значения из формата json с использованием bash - PullRequest
0 голосов
/ 12 июня 2018

Как извлечь значение 3be847cb-48d6-ea4d-05ab-ee8ea2bd7337, показанное ниже?Я пытался использовать что-то вроде awk с {'print $'}, но это не работает, потому что весь вывод - первый элемент.

Команда:

$ curl -s --request GET http://x.y.z.10:8500/v1/kv/my-key-value

Вывод:

[{"LockIndex":0,"Key":"w-key-value","Flags":0,"Value":"Nw==","Session":"3be847cb-48d6-ea4d-05ab-ee8ea2bd7337","CreateIndex":16,"ModifyIndex":33212}]

1 Ответ

0 голосов
/ 12 июня 2018

Для извлечения из json вы должны использовать jq, если можете.По словам авторов, «jq - это как sed для данных JSON» (источник) .

В вашем случае это должно быть:

$ curl -s --request GET http://x.y.z.10:8500/v1/kv/my-key-value | jq -r '.Session'

Вывод будет:

3be847cb-48d6-ea4d-05ab-ee8ea2bd7337

Прежде чем использовать jq, вы должны установить его в Debian и Ubuntu:

$ sudo apt install jq

для других ОС вам следует проверить этот сайт .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...