我有一个包含以下内容的文件:
{"id":1,"jsonrpc":"2.0","result":{"speed":0}}
我怎么能够grep" 0"在"速度":"?
之后我已经尝试过' grep -o -P"速度":{1}'而不是我想要的。
答案 0 :(得分:0)
您应该使用jq
(sudo apt-get install jq
使用raspbian)来执行此任务。
echo '{"id":1,"jsonrpc":"2.0","result":{"speed":0}}' | jq .result.speed
结果:0
由于您在问题中说您有一个“包含”此行的文件,您可能希望首先使用grep来获取您感兴趣的行,否则jq
可能会抛出错误。< / p>
示例文件:
abc
{"id":1,"jsonrpc":"2.0","result":{"speed":0}}
123
正在运行grep "speed" yourfile.txt | jq .result.speed
会输出0
。