Я получаю список томов EBS в учетной записи AWS.Мне нужно распечатать идентификатор тома, размер и время его подключения.
Если том не подключен, у него есть пустое значение для «время прикрепления».Я хотел бы заменить пустые значения для времени присоединения пустым массивом.
Если я пытаюсь заменить пустой массив, я получаю эту ошибку:
cat nonprod-ebs-sanitized.json | jq -r '.Volumes[] | [ .VolumeId, .Size, (.Attachments[].AttachTime // [] )] | @csv'
jq: error (at <stdin>:4041): array ([]) is not valid in a csv row
Если я подставляю что-то еще,как восклицательные знаки, подстановка работает:
cat nonprod-ebs-sanitized.json | jq -r '.Volumes[] | [ .VolumeId, .Size, (.Attachments[].AttachTime // "!!!!!!!" )] | @csv'
"vol-0c21e56a50a1c5009",50,"!!!!!!!"
"vol-0b6d7b1488438cc95",120,"!!!!!!!"
"vol-066e24cb8d2294605",8,"2018-12-11T18:54:26.000Z"
Как мне заменить пустой массив на пустые значения времени присоединения для работы?
Вот исходный json, с которым я работаю: ОРИГИНАЛ JSON