【发布时间】:2022-01-24 09:12:42
【问题描述】:
我想在我的文件名 ss.josn 每个 json 对象之前添加行 '{"index":{"_id":$number_of_id}}'(这是一行)
猫 ss.json
输入示例:
{"msisdn":"255742005249","subscription_date":"2021-05-26T16:41:40.467Z","optout_date":"2022-01-03T19:12:59.808Z","total_charged_amount":1300}
{"msisdn":"255742009077","subscription_date":"2019-12-31T22:00:00.000Z","optout_date":"2022-01-09T14:08:00.282Z","total_charged_amount":3370}
{"msisdn":"255742009703","subscription_date":"2019-12-31T22:00:00.000Z","optout_date":"2022-01-01T12:34:02.104Z","total_charged_amount":400}
期望的输出:
{"index":{"_id":1}}
{"msisdn":"255742005249","subscription_date":"2021-05-26T16:41:40.467Z","optout_date":"2022-01-03T19:12:59.808Z","total_charged_amount":1300}
{"index":{"_id":2}}
{"msisdn":"255742009077","subscription_date":"2019-12-31T22:00:00.000Z","optout_date":"2022-01-09T14:08:00.282Z","total_charged_amount":3370}
{"index":{"_id":3}}
{"msisdn":"255742009703","subscription_date":"2019-12-31T22:00:00.000Z","optout_date":"2022-01-01T12:34:02.104Z","total_charged_amount":400}
【问题讨论】:
-
到目前为止你尝试了什么?
-
@JiříBaum 试图做 for 循环以在每个 json 对象之前插入所需的行
-
不要使用 Bash 来操作 JSON。改用 JQ:
jq -s 'to_entries[] | {"index":{"_id":(.key+1)}},.value' -
我对问题结束的评论感觉就像宗教裁判所不知何故丢失了。我必须重新添加它。