如何在bash中使用jq创建for循环
发布时间:2020-12-15 22:20:03 所属栏目:安全 来源:网络整理
导读:我正在尝试将json文件拆分为各种json文件.输入(r1.json)看起来像: { "results" : [ { content 1},{ content 2},{ content n} ]} 我希望输出为n个文件:1.json,2.json,n.json.分别包含{content 1},{content 2}和{content n}. 我试过了 : for i in {0..24};
我正在尝试将json文件拆分为各种json文件.输入(r1.json)看起来像:
{ "results" : [ { content 1 },{ content 2 },{ content n } ] } 我希望输出为n个文件:1.json,2.json,n.json.分别包含{content 1},{content 2}和{content n}. 我试过了 : for i in {0..24}; do cat r1.json | jq '.results[$i]' >> $i.json; done 但我有以下错误:错误:我没有定义 解决方法
虽然上面的答案是正确的,但请注意,在jq脚本中插入shell变量对于除了最简单的脚本之外的所有脚本都是一个可怕的想法.在提供的任何解决方案中,替换以下内容:
jq ".results[$i]" 具有以下内容: jq --arg i "$i" '.results[$i | tonumber]' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |