jq: 在Linux通过命令行处理 JSON
因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令 行下对 JSON 进行操作,包括分片、过滤、转换等等。
让我们通过几个例子来说明 jq 的功能:
漂亮打印
如果我们用文本编辑器打开 JSON,有时候可能看起来会一团 糟,但是通过 jq 的 .(点)过滤器就可以立马让 JSON 的格式规整起来。
[code language= shell ]% jq . soundtag.json[/code]
用文本编辑器打开后的样子
用 jq 显示的结果
快速查询
利用 jq 能够以 key 作为关键字来对 JSON 作出快速查询, 例如:
[code language= shell ]% jq .cn soundtag.json[/code]
这将仅仅显示 cn 键对应的值。
jq 的键查询也支持链式调用,如:
[code language= shell ]% jq .cn[0].pNum soundtag.json[/code]
管道操作
熟悉命令行的朋友可能都知道 | (管道)是一个非常强大的 武器。幸运的是,jq 也提供了对管道的支持。
[code language= shell ]% jq .cn[] | { pNum } soundTag.json[/code]
在这里,我们使用管道过滤并构造出 pNum 对象。
总结
如果你需要在命令行下处理 JSON,我强烈推荐 jq。jq 不仅 能够满足一般性的常见需求,更包含运算、内置函数、条件比较、 变量声明、自定函数等强大功能。对此感兴趣的朋友,不妨通过 jq 的官方手册 进行学习。
原文来自: LinuxToy
本文链接:http://www.yunweipai.com/3496.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53207.html
javalinuxshell相关文章
- Linux命令行启动系统操作指南(linux命令行开机)
- 体验Linux系统的魅力!(使用linux的感受)
- Linux进程抢占:优先级控制与协同(linux进程抢占)
- 交互Linux终止命令行交流:一种有效的方式(linux结束命令行)
- 和图形界面Linux 切换:实现命令行与图形界面切换(linux切换命令行)
- Linux系统安装全攻略:基于命令行快速安装(linux安装命令大全)
- 行复习笔记学习Linux:命令行复习笔记(linux创建命令)
- Linux 命令行编辑器指南(linux命令编辑器)
- Linux命令行下载:从零开始学习(linux命令行下载)
- Linux的分支:开源世界中的创新之路(linux的分支)
- 及优势Linux的分支比较与优势分析(linux的分支)
- Linux的分支:开源的新时代(linux的分支)
- 轻松访问Linux系统:远程桌面Win连接LINUX(win远程linux)
- 操作Linux分支操作指南(linux的分支)
- Linux快速访问指南(linux访问linux)
- Linux中如何判断文件是否存在(linux文件存在判断)
- Linux 并发控制:解决技术难题.(linux并发控制)
- 探索Linux命令行运行之路(linux怎么运行命令)
- Linux命令行之旅:从行首开始(linux命令行行首)
- 解决Linux网卡驱动问题,全方位使用万能网卡驱动(linux万能网卡驱动)
- 如何提高 Linux 命令行操作效率:重复命令的技巧(linux重复命令)
- Linux命令行必知:大小写敏感!(linux区分大小写)
- Linux 服务器:快速实现切换命令(linux切换服务器命令)
- Linux下使用命令行新建文件(linux用命令创建文件)