我有以下file我想用作项目的测试数据。我需要的唯一数据是位置对象中的纬度经度数据。
我设法使用以下命令从文件中删除所有不需要的数据:
sed -i '' '/pattern/d' ./locations.json
现在我无法尝试删除每个经度线上不需要的,
字符。如何使用shell脚本快速完成此操作?
[
{
"latitude":-35.2777,
"longitude":149.1189,
},
{
"latitude":-35.3049,
"longitude":149.1412,
},
{
"latitude":-35.1627,
"longitude":150.6907,
},
\\ and so on
]
我要做的是将此图案"longitude":\d+.\d+,
替换为"longitude":\d+.\d+
答案 0 :(得分:1)
jq
是处理JSON数据的正确工具:
jq 'map({latitude, longitude})' ./locations.json
输出(缩短):
[
{
"latitude": -35.2777,
"longitude": 149.1189
},
{
"latitude": -35.3049,
"longitude": 149.1412
},
{
"latitude": -35.1627,
"longitude": 150.6907
},
{
"latitude": -35.028,
"longitude": 150.5501
},
{
"latitude": -35.1333,
"longitude": 150.7
},
....
]