Utiliser une variable pour parcourir un fichier json (commande jq)
Bonjour,
J'ai un fichier qui contient des informations.
Je récupère facilement le nombre de "clone" dans ce fichier
Code:
1 2 3
| [json@json env-d]$ NB_CLONE=$(cat list_clone_to_refresh.json | jq -r '.clones' | jq length)
[json@json env-d]$ echo $NB_CLONE
2 |
Seulement, à partir de cette variable NB_CLONE, je souhaite parcourir les informations de chacun des clones.
Exemple sans la variable pour afficher le nom du clone :
[json@json env-d]$ jq -r '.clones[0].name' list_clone_to_refresh.json
CLONE01
Seulement, quand j'essaye de parcourir à l'aide d'une variable ça ne fonctionne pas :
Code:
1 2 3 4 5 6 7
| [json@json env-d]$ TEST=0
[json@json env-d]$ echo $TEST
0
[json@json env-d]$ jq -r '.clones[$TEST].name' list_clone_to_refresh.json
jq: error: $TEST is not defined at <top-level>, line 1:
.clones[$TEST].name
jq: 1 compile error |
J'ai également essayé avec cette syntaxe - idem :
Code:
1 2
| [json@json env-d]$ jq -r --arg TEST "$TEST" '.clones[$TEST].name' list_clone_to_refresh.json
jq: error (at list_clone_to_refresh.json:0): Cannot index array with string "0" |
Si quelqu'un à une idée de mon erreur, je suis preneur.
Merci d'avance pour votre aide,
Bonne journée,
Matt