我有以下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 '.[]'
下一步是添加自定义字段.
谢谢你的协助.
我正在尝试为某个数据库获取用户.
我能够找到列出数据库或创建用户的功能但没有列出用户的功能,我想要调用任意命令,show users但我可以找到任何方法来做到这一点.
#/usr/bin/python
from pymongo import MongoClient
client = MongoClient("localhost",27017)
db = client.this_mongo
Run Code Online (Sandbox Code Playgroud)
我可以看到数据库名称并打印它们,但没有进一步:
db_names = client.database_names()
#users = db.command("show users")
for document in db_names:
print(document)
#cursor = db.add_user('TestUser','Test123',roles={'role':'read'})
Run Code Online (Sandbox Code Playgroud)
如果只有一个函数可以获取用户光标,那么我可以迭代它就会很棒.
#/usr/bin/python
from pymongo import MongoClient
client = MongoClient("localhost",27017)
db = client.this_mongo
# This is the line I added with the help of @salmanwahed
listing = db.command('usersInfo')
for document in listing['users']:
print document['user'] +" "+ document['roles'][0]['role']
Run Code Online (Sandbox Code Playgroud)
谢谢大家和@salmanwahed!