【发布时间】:2022-06-14 13:59:07
【问题描述】:
我想从 json 对象内的元素列表中提取排名,该对象的顺序显示项目在相应类别中的位置。这应该只使用命令行工具来完成。
例如 我有一个包含这 2 个样本的文件(每个 json 对象应该是单行的,但为了便于阅读,这里用缩进解析):
{
"category":"triathlon",
"athletes_list":[
{
"athlete_name": "Ubain Solt"
}
,
{
"athlete_name": "Jon Snow"
}
,
{
"athlete_name": "Mickey Mouse"
}
]
}
{
"category":"swimming",
"athletes_list":[
{
"athlete_name": "Picheal Phelms"
},
{
"athlete_name":"Lacky Kedetie"
}
]
}
并希望作为输出:
{"a":"Ubain Solt", "r":0, "c":"triathlon"}
{"a":"Jon Snow", "r":1, "c":"triathlon"}
{"a": "Mickey Mouse", "r":2, "c":"triathlon"}
{"a": "Picheal Phelms", "r":0, "c":"swimming"}
{"a": "Lacky Kedetie", "r":1, "c":"swimming"}
要求是使用 jq 并且解决方案必须是 1-liner。
【问题讨论】:
标签: json command-line jq