JQ:具有静态值/变量的输出 [英] JQ : Output with static value / variable
本文介绍了JQ:具有静态值/变量的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用具有静态值:4546
nodes.json
{
"nodes": {
"node1.local": {
":ip": "10.0.0.1",
"ports": [],
":memory": 1024,
":bootstrap": "bootstrap.sh"
},
"node2.local": {
":ip": "10.0.0.2",
"ports": [],
":memory": 1024,
":bootstrap": "bootstrap.sh"
},
"node3.local": {
":ip": "10.0.0.3",
"ports": [],
":memory": 1024,
":bootstrap": "bootstrap.sh"
}
}
}
这是我的命令用途
ips=`jq -c '.nodes | to_entries | map(.value.":ip")' nodes.json`
echo $ips
输出为
["10.0.0.1", "10.0.0.2", "10.0.0.3"]
我希望它像这样
["10.0.0.1:4546", "10.0.0.2:4546", "10.0.0.3:4546"]
推荐答案
您可以使用map_values
jq -c '.nodes | to_entries | map(.value.":ip")| map_values(.+":4546")' nodes.jso
这篇关于JQ:具有静态值/变量的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文