小编Par*_*azi的帖子

用jq连接json数组对象

我在json文件下面:

{
"EventId": "60a0490c",
"Resources": [
    {
        "ResourceType": "AWS::STS::AssumedRole", 
        "ResourceName": "AutoScaling"
    }, 
    {
        "ResourceType": "AWS::IAM::Role", 
        "ResourceName": "arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
    }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想连接Resources元素中的键值对,并在单行输出:

60a0490c,AutoScaling=AWS::STS::AssumedRole#AWS::IAM::Role=arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Run Code Online (Sandbox Code Playgroud)

我试过它:

cat file.json | jq '.EventId + "," + (.Resources[] | join("="))' -r
Run Code Online (Sandbox Code Playgroud)

它给我的输出为:

60a0490c,AutoScaling=AWS::STS::AssumedRole
60a0490c,AutoScaling=AWS::IAM::Role=arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Run Code Online (Sandbox Code Playgroud)

它为每个键值对创建新条目,我希望它与不同的分隔符(#)在单行上

提前致谢.

bash json aws-cli jq

1
推荐指数
1
解决办法
202
查看次数

标签 统计

aws-cli ×1

bash ×1

jq ×1

json ×1