借用this question的MWE,我有一组嵌套的字典。
{
"type": "A"
"a": "aaa",
"payload": {"another":{"dict":"value", "login":"user1"}},
"actor": {"dict":"value", "login":"user2"}
}
{
"type": "B"
"a": "aaa",
"payload": {"another":{"dict":"value", "login":"user3"}},
"actor": {"dict":"value", "login":"user4"}
}
}
{
"type": "A"
"a": "aaa",
"b": "bbb",
"payload": {"another":{"dict":"value", "login":"user5"}},
"actor": {"dict":"value", "login":"user6"}
}
}
{
"type": "A"
"a": "aaa",
"b": "bbb",
"payload": {"login":"user5"},
"actor": {"login":"user6"}
}
}
对于具有"type":"A"
的词典,我想从payload
字典中获取用户名,并从actor
字典中获取用户名。同一用户名可以出现多次。我想存储一个txt文件,其中包含actor
(ID1)列表和payload
(ID2)列表,如下所示:
ID1 ID2
user2 user1
user6 user5
user6 user5
现在,我有一个起点:
zgrep "A" | zgrep -o 'login":"[^"]*"' | zgrep -o 'payload":"[^"]*" > usernames_list.txt
但是这当然是行不通的,因为我需要在有效载荷字典中找到登录名,并在Actor字典中找到类型A的每个字典的登录名。
有什么想法吗?
答案 0 :(得分:0)
我假设您对payload
A的所有条目都有actor
和type
字典。
payload
项中解析出用户名并重定向
到名为payload.txt的文件actor
个条目中解析出用户名,并将其重定向到
另一个名为actor.txt的文件paste
命令加入条目并以所需方式输出它们