在shell中转义双引号和逗号

时间:2016-03-06 11:27:31

标签: bash shell amazon-ec2

下面的命令将给出我的Amazon实例的卷

aws ec2 describe-instances --region us-west-2 --instance i-cbd35513 | grep -e "VolumeId" | cut -d ":" -f 2

并且该命令的输出为:

"vol-f6be8636",
"vol-69be86a9",

但是,我想要输出

 vol-f6be8636
 vol-69be86a9

有人可以告诉我或给我一个如何做的例子吗?我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

aws ec2 describe-instances --region us-west-2 --instance i-cbd35513 |
awk '/VolumeId/{gsub(/[",]+/, "", $2); print $2}'

现在不需要grepcut,因为我建议的awk命令可以完成所有3个工作。

答案 1 :(得分:1)

最简单的方法之一是使用tr

other-commands | tr -d '",'

含义,tr,删除,然后删除字符,单个内部 引用所以shell不解释它们。