如何在使用 aws cli 时删除额外的括号和尖括号?

Bha*_*shi 3 amazon-ec2 amazon-web-services

我正在尝试使用以下命令获取使用 NetworkInterface 的信息。

[root@ip-172-29-45-82 ~]# aws ec2 describe-instances --instance-ids i-dd6f6f53 --query Reservations[*].{VpcId:Instances[*].NetworkInterfaces[*].VpcId}
[
    {
        "VpcId": [
            [
                "vpc-38fb075d"
            ]
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

我不想要额外的括号和尖括号。

它应该是这样的:

["VpcId":"vpc-38fb075d"] or [{"VpcId":"vpc-38fb075d"}] or {"VpcId":"vpc-38fb075d"}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以从上面的命令中实现上面的输出。

提前致谢。

Bha*_*shi 5

我解决了。

我使用了以下命令。

aws ec2 describe-instances --instance-ids i-dd6f6f53 --query Reservations[0].{VpcId:Instances[0].NetworkInterfaces[0].VpcId}
Run Code Online (Sandbox Code Playgroud)

我刚刚将 * 更改为 0 并且它可以工作。

现在输出是

{
    "VpcId": "vpc-38fb075d"
}
Run Code Online (Sandbox Code Playgroud)


Hua*_*308 5

可以通过将其添加到命令末尾来进一步细化结果

--output text
Run Code Online (Sandbox Code Playgroud)

输出将是非结构化文本:

"VpcId": "vpc-38fb075d"
Run Code Online (Sandbox Code Playgroud)