我有以下json:
[
{
"ip": [
"8.8.4.4/32",
"212.40.11.20/32"
],
"port": 25,
"proto": "tcp"
},
{
"ip": [
"212.40.11.30/32"
],
"port": 3389,
"proto": "tcp"
}
]
我想使用 jq
将 ip
数组中的 IP 地址分离出来,像这样:
[
{
"ip": "8.8.4.4/32",
"port": 25,
"proto": "tcp"
},
{
"ip": "212.40.11.20/32",
"port": 25,
"proto": "tcp"
},
{
"ip": "212.40.11.30/32",
"port": 3389,
"proto": "tcp"
}
]
我正在使用
jq 1.5
在 Ubuntu 15.04
上,同时使用 bash 4.3.42(1)
。编辑:
这是我从 AWS 中生成此列表的方式:
aws ec2 describe-security-groups --group-id sg-2cf5e31 --query 'SecurityGroups[].IpPermissions[].{port:ToPort,proto:IpProtocol,ip:IpRanges[].CidrIp[]}' | jq '.[]'
下一步是添加一个自定义字段。感谢您的帮助。
jq
的方法,只用aws
工具来完成它吗? - Yaron--query
参数采用JMESPath命令,这些命令与jq命令非常相似。 - user3899165