je dois convertir cette sortieJQ pour analyser aws balises d'instance EC2
$ aws ec2 describe-instances --instance-ids i-xxxxxxxx | jq -r '.Reservations[].Instances[].Tags[]' | jq -s 'from_entries | del(..|.["aws:autoscaling:groupName"]?)'
{
"Key": "ssh_user",
"Value": "abc"
}
{
"Key": "ssh_port",
"Value": "2200"
}
{
"Key": "aws:autoscaling:groupName",
"Value": "ASG-Api"
}
{
"Key": "Name",
"Value": "SV-V3-API"
}
dans celui-ci en utilisant JQ:
{
"ssh_user":"abc",
"ssh_port":"2200",
"Name":"SV-V3-API"
}
Notez que je dois supprimer cette clé: aws: autoscaling : groupName
pas les œuvres: describe-cas $ aws EC2 --instance-ids i-xxxxxxxx | jq -r '.Reservations []. Instances []. Tags []' | jq -c -s 'from_entries | del (. ["aws: autoscaling: groupName"]) 'jq: erreur: Impossible d'utiliser null comme clé d'objet – user3742266
@ user3742266 Quel est le but de l'ajout de plusieurs commandes jq ensemble? –
Pour jq 1.4, vous pouvez utiliser sed pour dévaler la clé et la valeur, par ex. '$ sed -e 's/Clé/clé /' -e 's/Valeur/valeur /' 881.json |/usr/local/bin/jq -M -c -s 'from_entries | del (. ["aws: autoscaling: groupName"]) '' {"ssh_key": "id_rsa.pem", "ansible": "v3p", "v3_api_prod": "Vrai", "ssh_user": "abc" , "ssh_port": "2200", "Nom": "SV-V3-API", "superviseur": "9009"} ' – peak