[英]When bash jq parsing json ,return a multi-line array but, how can I use this result?
当我使用命令时:
ids=`cat $myfilename | jq -r "[.data[].id]"`
然后像这样返回:
[
"PC_PACX_0017",
"GS_ZGRS_0001",
"PC_PACX_0018",
"GS_ZGRS_0002",
"AB_HXJK_0002",
"AB_HXJK_0001",
"TK_TKZX_0011",
"TL_TBAL_0002",
"TL_TBAL_0001",
"TS_TKRS_0001",
"TS_TKRS_0002",
"TS_TKRS_0003"
]
但它不能被视为数组,长度只能是1。如何使用此结果?
数组不同于多行字符串。 假设您的数据中没有换行符,请将您的jq
调用更改为
jq -r '[.data[].id]|.[]' # Could be simplified to '.data[].id'
并使用readArray
( bash
4或更高版本)填充适当的数组。
readArray -t ids < <(jq -r '[.data[].id]|.[]' "$myfilename")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.