Я пытаюсь избавиться от нескольких возможных ошибок при выводе некоторых команд AWS с помощью sed.
Используя команду удаления снимков в качестве примера, вот команда, которую я пытаюсь использовать:
aws ec2 delete-snapshot --snapshot-id=snap-0f33096478a77c --profile=go
vcloud-admin-nonprod 2>&1 | sed -e 's/An error occurred (InvalidSnapshot.(\(NotFound|InUse|Malformed\)) when calling the DeleteSnapshot operation: //g'
Ошибка 1
An error occurred (InvalidSnapshotID.Malformed) when calling the DeleteSnapshot operation: Value ( snap-0f33096478a77c ) for parameter SNAPSHOT is invalid.
Попытка еще раз с другимошибка:
aws ec2 delete-snapshot --snapshot-id=snap-02e5e9386fef2aaa9 --profile=govcloud-admin-nonprod 2>&1 | sed -e 's/An error occurred (InvalidSnapshot.(\(NotFound|InUse|Malformed\)) when calling the DeleteSnapshot operation: //g'
Ошибка 2:
An error occurred (InvalidSnapshot.NotFound) when calling the DeleteSnapshot operation: The snapshot 'snap-02e5e9386fef2aaa9' does not exist.
Последняя попытка ошибки:
aws ec2 delete-snapshot --snapshot-id=snap-0f33082478a77c --profile=go
vcloud-admin-nonprod 2>&1 | sed -e 's/An error occurred (InvalidSnapshot.(\(NotFound|InUse|Malformed\)) when calling the DeleteSnapshot operation: //g'
Ошибка 3:
An error occurred (InvalidSnapshot.InUse) when calling the DeleteSnapshot operation: The snapshot snap-0f33096478a77c532 is currently in use by ami-d4128aae
То, что я пытаюсь сделать, это избавиться от всего текста, кроме последней части, которая говорит, существует ли моментальный снимок или нет, и т. Д. Например, вместо этого вывода:
Произошла ошибка (InvalidSnapshot.NotFound) при вызове операции DeleteSnapshot: моментального снимка «snap-02e5e9386fef2aaa9» не существует.
Я просто хочу сохранить эту часть:
The snapshot 'snap-02e5e9386fef2aaa9' does not exist.
По какой-то причине строка sed яиспользование не подавляет вывод, который я хочу.Может кто-нибудь помочь мне с правильным синтаксисом для достижения этой цели?
Я думаю, проблема заключается в том, как я формирую эту строку:
(InvalidSnapshot.(\(NotFound|InUse|Malformed\))