我試圖片在年底指數從殼體中的參數(bash)的傳遞JQ數組切片陣列:JQ:基於參數
end_index=7
cat obj.json | jq --arg eidx $end_index, '.arr[0:$eidx]'
可正常工作時,該指數硬編碼
cat obj.json | jq '.arr[0:7]'
,但在頂部的例子中,我得到一個錯誤信息
jq: error (at <stdin>:0): Start and end indices of an array slice must be numbers
我懷疑這可能是用H做ow jq處理切片運算符[:]
內的變量替換,但我的解決方法都不是我的嘗試,例如通過在花括號中包含變量名稱.arr[0:${eidx}]
,已工作。
--argjson爲我完成了這項工作 –