Bash 将包含数百万行的文本文件转换为 mongodb 插入查询的脚本

Bash Script to convert text file which consists with millions of lines to mongodb insert query

我需要将文本文件转换为下面提到的 format.It 包含数百万行 data.The 格式的文本,如下所示。

    256456123
    456852159
    789123744
    .........

这是我在 converting.The 之后需要的格式,目的是在下面创建 mongodb 插入查询。

     db.database_name.insert([
     {
       "number":"256456123"
     },
     { "number":"456852159"
     },
     { "number":"789123744"
     }
     ]);

如何使用 bash 脚本执行此操作?

我假设您正在寻找一个对象数组,因为您的示例输出原样无效 JSON。

类似

sed -e '1s/.*/[{"number":"&"}/' \
    -e '2,$s/.*/,{"number":"&"}/' \
    -e '$s/$/]/' input.txt > output.json

会将所有内容放在方括号中,并通过在除第一行以外的所有行上的每个对象之前放置一个逗号 before,避免出现额外尾随逗号的问题。