我想将目录树中的250万个小xml文件合并到一个大型json文件中,我尝试使用bash使用find
和xml2json
实用程序来执行此操作。
我对bash很新,并没有做过任何非常复杂的事情。我的直觉就像是跟随(但距离工作还有很长的路要走):
find . -exec xml2json {} ; cat >> merged.json
问题#1:我无法弄清楚如何将xml2json实用程序与-exec
一起使用。
find . -exec /usr/bin/xml2json < {}
不起作用(好像在等待更多输入?)。
也没有find . -exec /usr/bin/xml2json {}
我该如何运作?
问题2:连接文件的最有效方法是什么?显然只是使用cat
不会创建一个结构良好的json文件,但是我可以在开头和结尾的括号中连接,还可以在两者之间连接?或者我应该使用jq
的{{1}}之类的内容吗?我需要流式传输或并行化吗?
如果事实证明bash对此不利,那么JavaScript,R或Python中的有效替代方案也会很有用。感谢。