我正在一个AWS账户中获得EBS卷的列表。我需要打印出卷ID的大小和连接的时间。
如果未附加卷,则其“附加时间”的值为空。我希望将空值替换为空数组。
如果我尝试替换一个空数组,则会出现此错误:
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:ORIGINAL JSON