Você precisa escapar das barras invertidas para formatar a resposta corretamente.
aws ec2 describe-instances --query 'Reservations[].Instances[].[PrivateIpAddress,Tags[?Key=='Name'].Value[]]' --output text | sed '$!N;s/\n/ /'
Então, esse é o comando que você quer:
$ aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-ac973bc9 --query 'Reservations[].Instances[].[PrivateIpAddress,InstanceId,Tags[?Key=='Name'].Value[]]' --output text | sed '$!N;s/\n/ /'
10.101.255.10 i-91efd39b Server1
10.101.255.9 i-f1e8d4fb Server2
E você não precisa de .Value[]
. Você pode usar apenas .Value
, e isso dará o mesmo resultado.
Isso é incrível, btw. Eu mesmo vou implementar isso!
CORRECÇÃO: O acima não funcionará se o valor de .Value
for "Nenhum". Isso funciona melhor:
$ aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-ac973bc9 --query 'Reservations[].Instances[].[PrivateIpAddress,InstanceId,Tags[?Key=='Name'].Value[]]' --output text | sed 's/None$/None\n/' | sed '$!N;s/\n/ /'
10.101.255.10 i-91efd39b Server1
10.101.255.9 i-f1e8d4fb Server2
10.101.255.8 i-f6c2450a None
10.101.255.7 i-34a6afce Server3