如何在Linux下用jq删除JSON数组中匹配指定key值的分组元素
jq删除指定数组元素实现方案
直接执行以下命令即可完成需求:
# 输出处理结果到终端 jq 'del(.attributes[] | select(.key == "that"))' 你的JSON文件路径
如果你使用的是jq 1.6及以上版本,需要直接修改原文件可以加原地修改参数:
jq -i 'del(.attributes[] | select(.key == "that"))' 你的JSON文件路径
命令逻辑说明
del()是jq提供的节点删除函数,用于移除指定的JSON结构节点.attributes[]遍历目标JSON中attributes数组的所有元素select(.key == "that")筛选出数组中key字段值为that的元素,交由del函数删除
处理后的输出结果完全符合预期格式。
内容的提问来源于stack exchange,提问作者Mr B
相关产品推荐
相关产品推荐

