加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在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]'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读