【问题标题】:jq - Combine data from different keysjq - 组合来自不同键的数据
【发布时间】:2019-03-12 09:46:48
【问题描述】:

我有这个 json 输出

{
"FileSystems": [
    {
        "CreationToken": "CreationToken1",
        "OwnerId": "OwnerId1",
        "SizeInBytes": {
            "Timestamp": 1552377599.0,
            "Value": 1550721024
        },
        "Name": "Name1",
        "NumberOfMountTargets": 3,
        "FileSystemId": "fs-1",
        "LifeCycleState": "available",
        "CreationTime": 1550506468.0,
        "PerformanceMode": "generalPurpose"
    },
    {
        "CreationToken": "CreationToken2",
        "OwnerId": "OwnerId2",
        "SizeInBytes": {
            "Timestamp": 1552377599.0,
            "Value": 2390339584
        },
        "Name": "Name2",
        "NumberOfMountTargets": 3,
        "FileSystemId": "fs-2",
        "LifeCycleState": "available",
        "CreationTime": 1547663741.0,
        "PerformanceMode": "generalPurpose"
    }
]
}

通过使用这个命令

aws efs describe-file-systems | jq -r ".FileSystems[] | .SizeInBytes.Value"

我可以收到 NFS 大小的值:

1550725120
2390339584

但我需要得到一个带有文件系统名称的输出,所以应该是这样的:

Name1: 1550725120
Name2: 2390339584

我该怎么做?

【问题讨论】:

    标签: json key jq


    【解决方案1】:

    你可以使用string interpolation,像这样:

    jq -r ".FileSystems[] | \"\(.Name) \(.SizeInBytes.Value)\""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多