2016-03-02 48 views
1

在文件中删除字符串我期待除去_id场及其值变化:在Linux上

{ "_id" : { "$oid" : "54da1bee58743hd23947f493" }, "name":"david", "age":"33"} 
{ "_id" : { "$oid" : "5422222222222345d9f1f493" }, "name":"Dove", "age":"33"} 
{ "_id" : { "$oid" : "54da1be57a4b727669f1f493" }, "name":"man", "age":"23"} 


outcome: 
{"name":"david","age":"33"} 
{"name":"Dove", "age":"33"} 
{"name":"man", "age":"23"} 

我想用sed或任何其他命令。

+0

使用的投影文件作为第二个参数到'find'方法。像这样: 'db.collection.find({},{_id:0,name:1,age:1})' –

+0

需要使用mongoexport,它不允许在创建json文件时删除_id。所以不幸的是唯一的选择似乎是手动删除_id字段 – goldtl

+0

请更新您的问题中的要求。 –

回答

3

使用jq很容易。

jq -c 'del(._id)' input.txt 

O/P:

{"name":"david","age":"33"} 
{"name":"Dove","age":"33"} 
{"name":"man","age":"23"}