我从MongoDB的出口JSON文件,它看起来像:JSON分割成多个文件
{"_id":"99919","city":"THORNE BAY"}
{"_id":"99921","city":"CRAIG"}
{"_id":"99922","city":"HYDABURG"}
{"_id":"99923","city":"HYDER"}
大约有30000行,我想每一行拆分成它自己的.json
文件。 (我想我的数据传输到couchbase集群)
我试着这样做:
cat cities.json | jq -c -M '.' | \
while read line; do echo $line > .chunks/cities_$(date +%s%N).json; done
,但我发现,它似乎下降线的负载和运行此命令的输出只当我期待30000奇怪时,给了我50个奇怪的文件!
有没有一种合乎逻辑的方式来使这不会使用任何套件将任何数据删除?
BSD'date'不支持'%N'作为几分之一秒。由于每秒只生成一次唯一的输出文件名,并且每秒处理的行数远远超过一行,所以会丢失行数。 – chepner