【发布时间】:2016-04-01 16:40:35
【问题描述】:
我的 JSON 输出如下所示;
{
"1":{
"state":{
"on":false,
"bri":124,
"hue":14985,
"sat":252,
"effect":"none",
"xy":[
0.5182,
0.4363
],
"ct":480,
"alert":"none",
"colormode":"xy",
"reachable":true
},
"type":"Extended color light",
"name":"Slaapkamer rechts",
"modelid":"LCT001",
"manufacturername":"Philips",
"uniqueid":"00:17:88:01:00:dc:36:68-0b",
"swversion":"66013187"
},
"2":{
"state":{
"on":false,
"bri":125,
"hue":14984,
"sat":252,
"effect":"none",
"xy":[
0.5182,
0.4363
],
"ct":480,
"alert":"none",
"colormode":"xy",
"reachable":true
},
"type":"Extended color light",
"name":"Slaapkamer links",
"modelid":"LCT001",
"manufacturername":"Philips",
"uniqueid":"00:17:88:01:00:dc:33:99-0b",
"swversion":"66013187"
}
}
有没有人知道一个简单的方法来使这个输出 grep 可用?或者任何其他方式将输出放在一行上,以便我可以在 json 输出上使用 grep、awk 等工具? 如果我现在对“hue”这个词做一个 grep,那么我会得到 2 行;
"hue":14985,
"hue":14984,
虽然我有时只想在第一个或第二个上 grep..
有什么想法吗?
【问题讨论】:
-
看来需要解析,不建议用awk或者sed来解析。而是使用 jshon 之类的东西。
-
请包含示例输入和预期输出。我不明白你的意思 “我有时只想在第一个或第二个上 grep”
-
或者您只是想删除所有换行符?