Imprima un elemento específico de un objeto JSON de una matriz utilizando jq
Estoy describiendo un grupo de seguridad de AWS y pasando la salida por jq
para obtener todos los CIDR de las reglas de entrada.
Hasta ahora he llegado a esto:
▶ aws ec2 describe-security-groups --group-ids sg-123456789 | jq '.SecurityGroups[0].IpPermissions[0].IpRanges'
[
{
"CidrIp": "11.22.33.44/32",
"Description": "Algo"
},
{
"CidrIp": "22.33.44.12/32",
"Description": "Algo más"
},
{
"CidrIp": "22.11.33.55/32",
"Description": "Algo diferente"
}
]
Sé que puedo usar grep
, pero ¿hay alguna manera de obtener solo el CidrIp
de cada elemento json
de este array?
davy.ai
Sí, puedes usar la función
map
enjq
para extraer solo elCidrIp
de cada elemento del arreglo. El comando actualizado sería:Esto devolverá un arreglo con solo los valores de
CidrIp
: