我的JSON对象(超过12000行)一个大文件看起来像名称:分裂一个大的JSON文件和设置输出文件
{
"System": "2334",
"Id": "AP64531346-2016055553824",
"dtis": "106165099",
"Type": "Up",
... (in total, 112 lines per record)
}
{
"System": "873",
"Id": "AP24531346-20160676553824",
"dtis": "1261699",
"Type": "Up",
... (in total, 112 lines per record)
}
我要拆小的大文件每一个文件夹都有一个入口(112行),并将每个片段的名称设置为“Id”的值,我的意思分别是例如AP64531346-2016055553824.txt和AP24531346-20160676553824。
我尝试过使用GNU Split,但是我无法将每个文件的名称设置为ID加上.txt。
split -l 112 ../bigfile.csv
有什么建议吗?
请注意,这将导致数据中的键以不同于原来的顺序出现。如果数据实际上与描述相同,则可能比'$/=“\ n}更好\ n”; while(my $ record = <>){my $ id = $ json-> decode($ record) - > {Id};打开(我的$ fh,...)或死亡;打印$ fh $记录}'(仅在错误检查时) – ysth
@ysth,正确,但按键顺序在JSON中没有意义。至于评论的其余部分,你为什么不把它作为答案发布? – ikegami
与您的看起来有点太不一样 – ysth