首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws-cli --删除-网络接口列表

aws-cli --删除-网络接口列表
EN

Stack Overflow用户
提问于 2022-08-16 11:07:29
回答 1查看 81关注 0票数 1

我试图通过aws cli删除aws中没有使用的一些网络接口。为了获得这个网络接口列表,我运行以下命令:

aws ec2 describe-network-interfaces --filters Name=status,Values=available --query "NetworkInterfaces[].NetworkInterfaceId" --output json

然后,我需要传递"NetworkInterfaceId“值来删除--网络接口,如:aws ec2 delete-network-interface --network-interface-id $(aws ec2 describe-network-interfaces --filters Name=status,Values=available --region eu-west-1 --query "NetworkInterfaces[].NetworkInterfaceId" --output text) --region eu-west-1

这只删除了一个ENI,只有第一个。

我尝试过获取--生成-cli-骨架,但是描述-网络接口的输出给我一个I列表,但是删除-网络接口的输入json框架只接受一个字符串。

这里有什么想法吗?帮助是非常感谢的。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-08-16 14:57:18

这就是我解决这个问题的方法。

代码语言:javascript
复制
#!/bin/bash
# Get the network interface IDs for all the ENIs in status available and delete them
aws ec2 describe-network-interfaces --profile my_aws_profile --filters Name=status,Values=available --region my_region --query "NetworkInterfaces[*].NetworkInterfaceId" --output text > list.txt
sed 's/\t/\n/g' list.txt > list2.txt
elements=$(wc -l < list2.txt)
while [ $elements -gt 0 ];
do
    aws ec2 delete-network-interface --network-interface-id $(cut -f"$elements" list.txt) --profile my_aws_profile --region my_region
    ((elements--))
done
echo 'All done!'

我将所有ENI in的列表存储在一个list.txt文件中。但是它用制表符存储这个列表,并且while命令从read -r中得到了一个错误,所以我做了一个sed,通过“新行”字符来更改所有选项卡,并存储在另一个文件中。现在,我需要计算这个文件需要多少行来知道我需要运行的删除网络接口的迭代次数,并将其存储在一个变量中。此变量用于将此删除作为索引运行,并将其降到0。

任何贡献都是非常感谢的!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73372994

复制
相关文章

相似问题

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