我有一个JSON文件,如下所示
[
{
"macAddress": "22:00:10:21:ca:54",
"GeoCoordinate": {
"latitude": 1.2345,
"longitude": 123.4567,
"unit": "DEGREES"
}
},
{
"macAddress": "33:00:11:21:ca:54",
"GeoCoordinate": {
"latitude": 2.1345544523,
"longitude": 123.45678,
"unit": "DEGREES"
}
},
{
"macAddress": "44:00:10:21:ca:14",
"GeoCoordinate": {
"latitude": 2.1345544523,
"longitude": 123.45678,
"unit": "DEGREES"
}
}
...
]
我想得到以下数据,以便MongoDB可以在带有loc
字段的纬度/经度对上使用Geo索引。
[{
"macAddress": "22:00:10:21:ca:54",
"GeoCoordinate": {
"latitude": 1.2345,
"longitude": 123.4567,
"unit": "DEGREES"
},
"loc": {
"lon": 123.4567,
"lat": 1.2345
}
},
{
"macAddress": "33:00:11:21:ca:54",
"GeoCoordinate": {
"latitude": 2.1345544523,
"longitude": 123.45678,
"unit": "DEGREES"
},
"loc": {
"lon": 123.45678,
"lat": 2.1345544523
}
},
{
"macAddress": "44:00:10:21:ca:14",
"GeoCoordinate": {
"latitude": 12345678,
"longitude": 87654321,
"unit": "DEGREES"
},
"loc": {
"lon": 87654321,
"lat": 12345678
}
}
...
]
你可以看到我只是将lat / lon值附加到json对象并反转lon / lat顺序。
如何使用AWK
或其他linux命令行来处理上述文件?
答案 0 :(得分:0)
您可以使用以下ngTrim
命令:
jq