如何在Bash中用jq提取Arn含akshay的JSON对象指定属性
解决Bash中用jq提取指定JSON属性的问题
要从JSON数组里筛选出Arn字段包含"akshay"的对象,并同时提取该对象的Arn和DefaultVersionId属性,用这条jq命令即可:
jq '.[] | select(.Arn | contains("akshay")) | {Arn, DefaultVersionId}'
命令拆解:
.[]:遍历JSON数组中的每一个元素select(.Arn | contains("akshay")):筛选出Arn字段包含"akshay"字符串的对象{Arn, DefaultVersionId}:仅保留对象中的Arn和DefaultVersionId两个属性,输出新的JSON对象
如果需要输出紧凑的单行JSON格式,可添加-c参数:
jq -c '.[] | select(.Arn | contains("akshay")) | {Arn, DefaultVersionId}'
内容的提问来源于stack exchange,提问作者Akshay Lokur
相关产品推荐
相关产品推荐

