Ответ синтаксического анализа от Консула в Bash

Я использую удар для возвращения значения от Консула, я имею работу вызова API, но, может казаться, не свалил парсинг. Я попробовал regex и также jq, но ни один, кажется, не работает. Ниже результаты вызова API, который я должен проанализировать. Я пытаюсь добраться MTA3NDE5 от него.

Как я могу получить то значение от того, что возвращает вызов API?

[{"LockIndex":0,"Key":"syncID/master","Flags":0,"Value":"MTA3NDE5","CreateIndex":1951278,"ModifyIndex":1952289}]
0
задан 20 March 2019 в 07:45

2 ответа

Необходимо смочь использовать что-то простое как jq -r '.[]."Value"'

Напр.

$ echo '[{"LockIndex":0,"Key":"syncID/master","Flags":0,"Value":"MTA3NDE5","CreateIndex":1951278,"ModifyIndex":1952289}]' | 
  jq -r '.[]."Value"'
MTA3NDE5
0
ответ дан 26 October 2019 в 00:23

Вот один путь:

walt@bat:~(0)$ echo '[{"LockIndex":0,"Key":"syncID/master","Flags":0,"Value":"MTA3NDE5","CreateIndex":1951278,"ModifyIndex":1952289}]' | \
  grep -E -o '"Value":"[^"]*"' | cut -d: -f2 | tr -d '"'
0
ответ дан 26 October 2019 в 00:23

Другие вопросы по тегам:

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