Я хочу использовать результаты фильтра jq
внутри другого фильтра jq
. Я сделал это с xargs
, но я чувствую, что это должен быть лучший способ с простым jq
прогоном.
Пример:
]$ cat test.json
{
"prof" : {
"Sma00K279a" : {
"SMLT_RS00075" : {
"Sma00K279a" : {
"SMLT_RS00075" : 1.0
}
},
"SMLT_RS00180#" : {
"Sma00K279a" : {
"SMLT_RS00180#" : 1.0
}
},
"Smlt0558" : {
"Sma00K279a" : {
"Smlt3938" : 1.0
}
}
}
},
"redundant_removed" : {
"Sma00K279a" : {
"SMLT_RS22460" : "SMLT_RS22690",
"Smlt0558" : "Smlt3938",
"Smlt3573" : "Smlt1093"
}
}
}
Мое решение:
]$ jq '.redundant_removed.Sma00K279a|keys[]' test.json |tr -d \"|xargs -tI% jq '.prof.Sma00K279a.%' test.json
jq .prof.Sma00K279a.SMLT_RS22460 test.json
null
jq .prof.Sma00K279a.Smlt0558 test.json
{
"Sma00K279a": {
"Smlt3938": 1
}
}
jq .prof.Sma00K279a.Smlt3573 test.json
null
Мой вопрос:
Есть ли лучший способ сделать это с одним jq
бежать?