JQ (получите идентификатор на основе имени)

Я давно использую DejaVu Sans Mono для всех моих консольных вещей (Cygwin, PuTTY / KiTTY, ConEmu) и могу порекомендовать.

2
29.11.2018, 19:38
2 ответа

дк

Вы должны сделать это с помощью следующего:

jq '.[] | select(.name == "BMA" ).id'

Если имя BMA, будет извлечено и выведено соответствующее .id.

Чтобы использовать значение переменной оболочки, импортируйте его в jqс помощью--arg:

myvariable=BMA
jq --arg name "$myvariable" '.[] | select(.name == $name ).id'

json

json -c 'this.name === "BMA"' -a id
5
27.01.2020, 22:08

альтернативой решению jq являетсяjtc:

bash $ jtc -w'[name]:<BMA>+0 [-1] [id]' input.json
"byu6g6c4cjys5mdkg5znh8ju8c"
bash $ 
0
27.01.2020, 22:08

Теги

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