1

bashrc用来制作和删除快照。

要删除它们,我想使用该命令:

ec2-describe-snapshots | sort -r -k 5 | awk '{print "Deleting snapshot: " $2}'

并在描述上使用 grep 但是当我直接在该命令上使用 grep 时,例如:

ec2-describe-snapshots | sort -r -k 5 | grep "My Keyword" | awk '{print "Deleting snapshot: " $2}; system("ec2-delete-snapshot " $2)'

它不返回任何内容,因为它只搜索快照的 id,不是吗?

所以我的问题是:如何搜索快照描述中包含的关键字?

4

1 回答 1

2

查看您的脚本后,它看起来应该可以工作。所以我在我的服务器上尝试了同样的事情,但我没有删除它,而是再次描述快照。

ec2-describe-snapshots | sort -r -k 5 | grep <description> | awk '{print "Deleting snapshot: " $2}; system("ec2-describe-snapshots " $2)'

我得到的回应是这样的

Deleting snapshot: snap-fabaa29e
SNAPSHOT        snap-fabaa29e   vol-cccb4ea6    completed       2012-01-31T16:08:42+0000        100%    362457333706    50      <description>
Deleting snapshot: snap-ccbaa2a8
SNAPSHOT        snap-ccbaa2a8   vol-b2cb4ed8    completed       2012-01-31T16:08:42+0000        100%    362457333706    50      <description>
Deleting snapshot: snap-c0baa2a4
SNAPSHOT        snap-c0baa2a4   vol-d0cb4eba    completed       2012-01-31T16:08:42+0000        100%    362457333706    50      <description>

该命令的 grep 部分工作正常。但是您正在搜索的描述可能有问题。另外,我不确定您为什么要对结果进行排序,删除所有结果是否不一样,还是必须按特定顺序删除驱动器?

仔细检查 grep 子句中的文本。很确定你会在那里发现一个错误。

于 2012-03-19T14:30:09.297 回答