当使用Jq Play对提供的json进行查询时,输出看起来像预期的Demo。但是当我在shell脚本中尝试相同的查询并迭代对象时,我看到由于句子之间的空格而添加了新行。
查询:
query=$(cat $basename/test.json | jq -r '.DesignCode | to_entries[] | "\(.key):\(.value)"')
for i in $query
do
printf "$i"
done
用于shell脚本
输出屏幕截图
编写查询的正确方法是什么?
1条答案
按热度按时间brvekthn1#
我不确定命令的输出结果,但根据我的经验,shell在从字符串创建数组时有点混乱。
我经常使用的一个有用的解决方法是通过复合赋值强制shell将输出识别为数组: