JQ - объединить данные из разных ключей - PullRequest
0 голосов
/ 12 марта 2019

У меня есть этот вывод 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

Как я могу это сделать?

1 Ответ

1 голос
/ 12 марта 2019

Вы можете использовать строковую интерполяцию , например:

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