Yar*_*ron 3 bash ubuntu json jq
我有以下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"
}
]
Run Code Online (Sandbox Code Playgroud)
使用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"
}
]
Run Code Online (Sandbox Code Playgroud)
我使用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 '.[]'
下一步是添加自定义字段.
谢谢你的协助.
小智 7
比@ peak和@ hek2mgl更简单,更简单的替代方案,但仍然从根本上运用相同的概念:
jq 'map(.ip = .ip[])'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |