У меня есть следующий файл JSON:
{
"data":[
{
"id":"34c4s5f7-175f-480a-adff-d8d0bef4e8c4",
"name":"test",
"organizationId":"7er337a-714c-4043-90b1-6a4e7we82d87",
"isProduction":false,
"type":"test",
"clientId":"6d4720062eab494c45ewedaa78de1"
},
{
"id":"4856a92-9e46-4430-aac7-6ed8674569f",
"name":"dev",
"organizationId":"7er337a-714c-4043-90b1-6a4e7we82d87",
"isProduction":false,
"type":"sandbox",
"clientId":"bs34dea7749494daa8deert908bcd9"
}
],
"total":2
}
Мое требование - найти записи, где имя ключа dev
, а затем распечатать ключ идентификатора.
Я встречал
awk -F: '$1~/"name"/{l=$2} l~/dev/ && $1 ~ /id/ {sub(/,/,"",$2);print $2}'
, но при этом печатается значение ключа, которое появляется в последующих строках для соответствующего ключа.Мне нужно найти значение, которое находится перед соответствующим ключом.