gpt4 book ai didi

json - 使用 jq select 过滤 json 不起作用

转载 作者:行者123 更新时间:2023-12-04 17:57:15 26 4
gpt4 key购买 nike

我正在尝试使用 jq 从 json 文档中获取属性。我想获取具有特定名称的最新快照。这是 bash 中的 jq 语句,在我添加带有过滤器的选择之前它工作正常

snapid=aws redshift describe-cluster-snapshots --region us-west-2 | jq'.[] | select(.ClusterIdentifier=="dev-cluster") | max_by(.SnapshotCreateTime) | .SnapshotIdentifier'

这是我从中提取的 json 文档。有多个快照条目,但这是我的目标。

{
"Snapshots": [
{
"EstimatedSecondsToCompletion": 0,
"OwnerAccount": "45645641155",
"CurrentBackupRateInMegaBytesPerSecond": 6.2857,
"ActualIncrementalBackupSizeInMegaBytes": 22.0,
"NumberOfNodes": 3,
"Status": "available",
"VpcId": "myvpc",
"ClusterVersion": "1.0",
"Tags": [],
"MasterUsername": "ayxbizops",
"TotalBackupSizeInMegaBytes": 192959.0,
"DBName": "dev",
"BackupProgressInMegaBytes": 22.0,
"ClusterCreateTime": "2016-09-06T15:56:08.170Z",
"RestorableNodeTypes": [
"dc1.large"
],
"EncryptedWithHSM": false,
"ClusterIdentifier": "dev-cluster",
"SnapshotCreateTime": "2016-09-06T16:00:25.595Z",
"AvailabilityZone": "us-west-2c",
"NodeType": "dc1.large",
"Encrypted": false,
"ElapsedTimeInSeconds": 3,
"SnapshotType": "manual",
"Port": 5439,
"SnapshotIdentifier": "thismorning"
}
]
}

我收到错误消息,无法使用字符串“ClusterIdentifier”为数组编制索引。

最佳答案

这个怎么样?

jq '.[]|map(select(.ClusterIdentifier=="dev-cluster"))
|max_by(.SnapshotCreateTime)|.SnapshotIdentifier'

关于json - 使用 jq select 过滤 json 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com