Je suis en train de découper un tableau en jq où l'index de fin est passé en argument depuis le shell (bash) :
end_index=7
cat obj.json | jq --arg eidx $end_index, '.arr[0:$eidx]'
Cela fonctionne comme prévu lorsque l'index est codé en dur
cat obj.json | jq '.arr[0:7]'
mais dans l'exemple en haut, je reçois un message d'erreur
jq: error (at :0): Les indices de début et de fin d'une tranche de tableau doivent être des nombres
Je soupçonne que cela pourrait être lié à la façon dont jq gère la substitution de variable dans l'opérateur de tranche [:]
, mais aucune de mes tentatives pour résoudre le problème, par exemple en mettant le nom de la variable entre crochets .arr[0:${eidx}]
, n'a fonctionné.