Как удалить локальный IP-адрес из списка IP-адресов?
У меня есть переменная, которая содержит список 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`)