awk - awk 从键值对打印一个值
问题描述
我有以下 json 并使用 awk 打印并发值,但它没有给出任何输出
{
"GlanceImages.list_images": [
{
"runner": {
"type": "constant",
"times": 10,
"concurrency": 1
},
"context": {
"users": {
"tenants": 2,
"users_per_tenant": 2
},
"images": {
"image_url": "http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img",
"disk_format": "qcow2",
"container_format": "bare",
"images_per_tenant": 4
}
},
"sla": {
"failure_rate": {
"max": 0
}
}
}
]
}
使用 awk
echo xyz.json | awk -F: '$1=="concurrency" {print $2}'
它没有给出任何输出,可能是什么问题。最终我必须读取多个文件并总结所有并发值,最后打印最终总和
解决方案
另一个脆弱的脚本
$ awk '$1=="\"concurrency\":"{print $2}' file
如果您有多个匹配项要聚合
$ awk '$1=="\"concurrency\":"{sum+=$2} END{print sum}' file
推荐阅读
- python - Python - 有效地将数据从元组列表提取到另一个列表
- r - 为向量设置子集时如何保存级别?
- validation - 如何为这段代码找到最强的循环不变量?
- react-native - 使用 react-router-native 的链接进行测试时出现“TypeError:无法读取未定义的属性‘默认’”
- tabulator - 制表符 - 添加新行后验证输入
- mongodb - Mongoose - 如何异步更新多个文档
- c++ - 不能从 QML 修改用 C++ 创建的模型
- angular - Angular 7:无法更改量角器中的 baseUrl(路由器使用哈希)
- java - 使用 HttpClient 以状态 CLOSE_WAIT 泄漏的连接
- php - Symfony ChoiceType 表单将选项映射到相关实体字段