首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用过滤器将AWS CLI命令输出到没有jq的CSV

使用过滤器将AWS CLI命令输出到没有jq的CSV
EN

Stack Overflow用户
提问于 2018-12-14 22:13:20
回答 2查看 13.5K关注 0票数 3

有没有一种方法可以输出带有过滤器的AWS cli到csv格式?

例如,如果我想接受这个命令并输出到csv:

代码语言:javascript
复制
aws ec2 describe-images --owner self   --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType}'

我该怎么做?通常,我会使用jq将aws cli输出到csv。但在这种情况下,我能够更容易地获得我想要的信息,使用过滤器选项,而不是jq。

这是我想输出给CSV的完整命令:

代码语言:javascript
复制
aws ec2 describe-images --owner self   --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType,Architechture:Architecture,Hypervisor:Hypervisor,State:State,ImageID:ImageId,"Device Names":BlockDeviceMappings[].DeviceName,"Snapshot IDs":BlockDeviceMappings[].Ebs.SnapshotId,"Delete On Termination":BlockDeviceMappings[].Ebs.DeleteOnTermination,"Voluem Type":BlockDeviceMappings[].Ebs.VolumeType,"Volume Size":BlockDeviceMappings[].Ebs.VolumeSize,Encrypted:BlockDeviceMappings[].Ebs.Encrypted,"Image Location":ImageLocation,"Root Device Type":RootDeviceType,"Owner ID":OwnerId,"Creation Date":CreationDate,Public:Public,"Image Type":ImageType,Name:Name}'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-17 22:04:54

我能想到的一个解决方案是以文本--output text输出,然后用逗号替换空格:

代码语言:javascript
复制
aws ec2 describe-images --owner self   --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType}' --output text

输出

代码语言:javascript
复制
ami-1234567890    hvm
ami-1a2b3c4d5e    hvm
ami-9876543210    hvm

用逗号替换空格。使用sedtrawkpaste有很多方法来实现这一点。

代码语言:javascript
复制
aws ec2 describe-images --owner self   --query 'Images[*].{ID:ImageId,"Virtualization Type":VirtualizationType}' --output text | sed -E 's/\s+/,/g'

输出

代码语言:javascript
复制
ami-1234567890,hvm
ami-1a2b3c4d5e,hvm
ami-9876543210,hvm
票数 4
EN

Stack Overflow用户

发布于 2021-04-09 21:28:32

我们今天不得不做一些非常类似的事情,我们使用jq来获得csv的本地输出。

代码语言:javascript
复制
aws ec2 describe-instances --output json --query 'foo' | \
  jq -r '.[][] | @csv'
  • 注意:我们需要.[][]表示法,因为我们的查询正在以一种特定的方式重新格式化输出。我不认为大多数情况下都需要以同样的方式引用输出。
  • 注2:我不记得最初的问题是“没有jq",所以当我的cli工作时,我现在意识到它不符合操作目标。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53787555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档