我有一个包含 IP 列表的变量,我想删除设置该变量的实例的 IP
请参阅下文
[root@ip-10-10-2-100 ~]# INSTANCE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
[root@ip-10-10-2-100 ~]# echo $INSTANCE_IP
10.10.2.100
[root@ip-10-10-2-100 ~]# IP_LIST=$(aws ec2 describe-instances --region us-east-1 --filters 'Name=tag:Name,Values=tw-app-ecs' 'Name=instance-state-name,Values=running' --query "Reservations[*].Instances[*].PrivateIpAddress" --output=text)
[root@ip-10-10-2-100 ~]# echo $IP_LIST
10.10.2.100 10.10.4.158
那么我该如何对这个变量进行操作IP_LIST
以便可以删除本地 IP (10.10.2.100) 并获得下面的预期结果?
预期结果:
[root@ip-10-10-2-100 ~]# echo $IP_LIST
10.10.4.158
这应该是动态的,取决于变量设置的实例。非常感谢您的帮助。谢谢!
答案1
只是想到了grep -v
花了几个小时寻找方法后,终于在发布后几分钟找到了 grep -v
IP_LIST=$(aws ec2 describe-instances --region us-east-1 --filters 'Name=tag:Name,Values=tw-app-ecs' 'Name=instance-state-name,Values=running' --query "Reservations[*].Instances[*].PrivateIpAddress" --output=text | grep -v `curl -s http://169.254.169.254/latest/meta-data/local-ipv4`)