分享好友 编程语言首页 频道列表

在Shell命令行处理JSON数据的方法

  2015-11-09 11:360

因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。
让我们通过几个例子来说明 jq 的功能:
一、输出格式化,漂亮的打印效果
如果我们用文本编辑器打开 JSON,有时候可能看起来会一团糟,但是通过 jq 的 .(点)过滤器就可以立马让 JSON 的格式规整起来。
1.用文本编辑器打开后的样子

2.用 jq 显示的结果

复制代码 代码如下:
% jq . soundtag.json

在Shell命令行处理JSON数据的方法
二、快速查询JSON数据
利用 jq 能够以 key 作为关键字来对 JSON 作出快速查询, 例如:
复制代码 代码如下:
% jq .cn soundtag.json

这将仅仅显示 cn 键对应的值。
jq 的键查询也支持链式调用,如:
复制代码 代码如下:
% jq .cn[0].pNum soundtag.json

三、jq的管道操作
熟悉命令行的朋友可能都知道 | (管道)是一个非常强大的 武器。幸运的是,jq 也提供了对管道的支持。
复制代码 代码如下:
% jq '.cn[] | { pNum }' soundTag.json

在这里,我们使用管道过滤并构造出 pNum 对象。
四、总结
如果你需要在命令行下处理 JSON,我强烈推荐 jq。jq 不仅 能够满足一般性的常见需求,更包含运算、内置函数、条件比较、 变量声明、自定函数等强大功能。对此感兴趣的朋友,不妨通过 jq 的官方手册 进行学习。

查看更多关于【】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
【译】使用 Rust 构建你自己的 Shell
Build Your Own Shell using Rust 译文原文地址:https://www.joshmcguigan.com/blog/build-your-own-shell-rust/原文作者:Josh Mcguigan译文出自:https://github.com/suhanyujie/article-transfer-rs本文永久链接: https://github.com/suhanyujie/article

0评论2023-02-09879

ShellExecute使用详解(DELPHI版)
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂,比较少用。 2.WinExec主要运行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW); 3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联

0评论2023-02-09565

shell perl 等
tail -f xls2csv.sh |perl -pe 's/(csv)/\e[1;31m$1\e[0m/g'数据替换grep -E '_id|PHONE|PROFILE30|PROFILE31|PROFILE32|PROFILE35'LABEL272_VALUE_labelLABEL272_VALUE_label_2统计bug,并根据计数排序$NF最后一列为创建时间 $NF-1为处理人awk -F ","'/^(1|2|

0评论2023-02-09428

perl版 Webshell存活检测
原理:检测url返回状态即可源码: 1 #!c:\\perl\\bin\\perl.exe 2 use warnings; 3 use strict; 4 use LWP::UserAgent; 5 $| = 1; 6 print "---------------------------------------------------------\n"; 7 print "|Webshell online check v1.0 |\n"; 8 pri

0评论2023-02-09635

shell执行lua脚本传参数 shell脚本执行时传入参数
#lua test.lua 2 5arg[0]= test.lua arg[1]= 2arg[2]= 5if arg[1] and arg[1] == "2" then  print("arg[1]=2")end 

0评论2023-02-09628

lua调用shell 脚本
Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出。io.popen()也可以执行dos命令,但是返回一个文件。eg:复制代码 代码如下:local t = io.popen('svn help')local a = t:read("*all")--a返回一个字符串,内容是svn help的内容如果想执

0评论2023-02-09756

脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua
今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下.     脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua                  工作控制语言和shell    Shell 脚本    此类脚本用于自动

0评论2023-02-09933

VB.net shell、IO.File.Open、Process.Start、Shellexecute API 运用经验总结
  打开文件还有很多方法,但我了解到运用较多的是上面几种- -,为了防止以后忘记,先把了解到的写下来。1、Shell  这个看了很多网页,最靠谱的运用方法:Shell("cmd.exe /c "Br_PathLocal) ' 一般用shell调用cmd命令来打开文件但问题是,命令窗口关不了- -

0评论2023-02-09366

vb6.0的各种SHELL,CMD内部命令、外部命令、SHELL任意文件
1 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long

0评论2023-02-09508

使用 client-go 实现 k8s webshell
更好的阅读体验建议点击下方原文链接。原文地址:http://maoqide.live/post/cloud/kubernetes-webshell/ 通过 client-go 提供的方法,实现通过网页进入 kubernetes pod 的终端操作。client-go remotecommandwebsocketxterm.jsremotecommandk8s.io/client-go/t

0评论2023-02-09750

php调用shell的方法 shell 调用方法
一、配置查看php.ini中配置是否打开安全模式,主要是以下三个地方safe_mode =  (这个如果为off下面两个就不用管了)disable_functions = safe_mode_exec_dir=二、使用由于PHP基本是用于WEB程序开发的,所以安全性成了人们考虑的一个重要方面。于是PHP的设计

0评论2023-02-09399

Linux下创建shell、C小程序介绍 shell编程小程序
1.创建一个shell脚本文件gedit  hello_shell.sh  ##创建文件2.###在文件内添加一下内容#!/bin/bashfor  ((i=0;i10;i++));do  echo   "hello shell"doneexit 03.为文件添加可执行权限chmod 755 hello_shell.sh4.执行脚本./hello_shell.sh ###创建一个C

0评论2023-02-09393

LINUX下设置定时运行PERL脚本 perl中调用shell脚本
先确定软件包和crond服务运行情况#rpm -qa |grep vixie-cronvixie-crom-4.1-44.EL4//上面查看是否安装vixie-crom-4.1-44.EL4软件包#service crond statuscrond (pid 3065) is running...//查看crond服务的运行状态 在当前界面键入 crontab -e 命令

0评论2023-02-09394

在perl中,检测shell脚本返回值 perl脚本判断语句
使用perl调用外名命令有很多方法,这里就不详细讲解。如有shell脚本a.sh#!/bin/bashecho "script out put"exit 2有perl脚本test.pl调用a.sh#!/bin/perl -w$output = qx(/usr/local/a.sh);$exitcode = $?;print "output = " . $output;print "exitcode = " . $

0评论2023-02-09389

【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程
我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次,因为老伯们也不容易啊,屌丝何苦为难屌丝。。。废话不多说了上脚本! 找出CP

0评论2023-02-08585

Java调用shell命令涉及管道、重定向时不生效问题及解决
目录Java调用shell命令涉及管道、重定向时不生效Java执行shell遇到的各种问题1、判断子进程是否执行结束2、Process.waitFor()导致当前线程阻塞3、shell脚本中有关联脚本,注意路径4、java连续调用多个脚本5、java执行.sh脚本文件的时候直接写目录就行总结Java

0评论2023-02-08889

更多推荐