linux下提取日志文件中的某一行JSON数据中的指定Key
背景
今天在定位问题时,通过日志打印出来调用第三方接口的返回结果对象的值,但因为这个返回信息太多,导致日志打印时对应的这行日志翻了四五屏才结束,这种情况下不好复制粘贴出来去具体分析返回结果对象,主要是我们需要针对返回的json对象提取对应的key去进行分析查询。
提取
- vim logs/service.log打开对应的日志文件,然后:set nu设置行号显示,得到对应的日志所在行号为73019
- 使用sed -n "开始行,结束行p" filename将对应的日志打印出来。sed -n "73019,73019p" logs/service.log,过滤得到我们所需要的日志行。
- 将对应的日志保存到文件中,方便我们分析。sed -n "73019,73019p" logs/service.log > 20220616.log
- 使用sz命令,将文件下载到本地进行后续处理。sz 20220616.log
- 使用Nodepad++打开json文件,此时打开文件还是一行数据,我们需要将json数据进行格式化,变成多行。【插件】->【JSON Viewer】->【Format JSON】
- 过滤出指定Key所在的行,grep imei 20220616.log > 20220616_imei.log
- 最终得到了我们想要的数据。
本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。
作者:翎野君
出处:http://www.cnblogs.com/lingyejun/
若本文如对您有帮助,不妨点击一下右下角的【推荐】。
如果您喜欢或希望看到更多我的文章,可扫描二维码关注我的微信公众号《翎野君》。
转载文章请务必保留出处和署名,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/lingyejun/
若本文如对您有帮助,不妨点击一下右下角的【推荐】。
如果您喜欢或希望看到更多我的文章,可扫描二维码关注我的微信公众号《翎野君》。
转载文章请务必保留出处和署名,否则保留追究法律责任的权利。