json文件内容:

$ head file.json
{"B": 0.337, "C": 0.663, "name": "xxx"}
{"B": 0.671, "C": 0.329, "name": "xxxxx"}
{"B": 0.445, "C": 0.555, "name": "xxxxxxx"}

要统计"B"的概率在(0.6,0.7]区间的数目,完整命令如下:

$ awk '{print $2}' file.json | awk -F ',' '{if($1 > 0.6 && $1 <= 0.7) {print $1}}' | wc -l

将"B"概率大于等于0.7的输出:

$ head file.json
{"B": 0.671, "C": 0.329, "name": "xxx"}
{"B": 0.817, "C": 0.183, "name": "xxx"}
{"B": 0.719, "C": 0.281, "name": "xxx"}
{"B": 0.697, "C": 0.303, "name": "xxx"}
{"B": 0.674, "C": 0.326, "name": "xxx"}
{"B": 0.615, "C": 0.385, "name": "xxx"}
{"B": 0.732, "C": 0.268, "name": "xxx"}
{"B": 0.582, "C": 0.418, "name": "xxx"}
{"B": 0.563, "C": 0.437, "name": "xxx"}
{"B": 0.262, "C": 0.738, "name": "xxx"} $ head file.json | awk '{if(substr($2, 0, 6) > 0.7) print $0}' # 输出整句
{"toB": 0.817, "toC": 0.183, "name": "xxx"}
{"toB": 0.719, "toC": 0.281, "name": "xxx"}
{"toB": 0.732, "toC": 0.268, "name": "xxx"} $ head file.json | awk '{if(substr($2, 0, 6) >= 0.7) print $1, $2, $5, $6}' # 输出指定部分
{"B": 0.817, "name": "xxx"}
{"B": 0.732, "name": "xxx"}
{"B": 0.719, "name": "xxx"}

1.第一个awk没有指定分隔符,默认使用空格进行分割

$ head file.json | awk '{print $2}'
0.337,
0.671,
0.445,

2.第二个awk再指定逗号作为分隔符

$ head file.json | awk '{print $2}' | awk -F ',' '{print $1}'
0.337
0.671
0.445

awk命令结合管道命令对json文件进行统计分析的更多相关文章

  1. 使用Scrapy命令行工具【导出JSON文件】时编码设置

    Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用s ...

  2. 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令

    最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...

  3. CMD命令行管道命令

    一.什么是管道命令 管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息. 如 dir 命令会显示目录下所有文件夹和文件,可以使用管道命令| findstr "" 将di ...

  4. windows下cmd组合命令和管道命令

    组合命令:&& 管道命令:|

  5. awk将普通文本转换成json文件

    script1: #!/bin/bash #Date:-- #Author:eivll0m awk -F"\t" -vq='"' '{ a[$]=a[$]?a[$]:$ ...

  6. npm init 命令生成package.json文件

    通过npm init 命令可以生成一个package.json文件.这个文件是 整个项目的描述文件.通过这个文件可以清楚的知道项目的包依赖关系,版本,作者等信息.每个NPM包都有自己的package. ...

  7. linux shell 管道命令(pipe)使用及与shell重定向区别

    管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandarderror 信息没有直接处理能力.然后,传递给下一个命令 ...

  8. 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道

    管道和过滤器 管道和过滤器是八种体系结构模式之一,这八种体系结构模式是:层.管道和过滤器.黑板.代理者.模型-视图-控制器(MVC) 表示-抽象-控制(PAC).微核.映像. 管道和过滤器适用于需要渐 ...

  9. Linux的管道命令

    Linux的管道命令 管道命令(Pipe) 管道命令用"|"来表示,管道命令需要接收前一个命令的输出来进行操作,但不能处理前一个命令的错误. //选取界面:cut,grep cut ...

随机推荐

  1. [JavaScript]YYYY-MM-DD格式字符串计算年龄

    function getAge(birth){ birth = birth.replace(/-/g,"/"); //把格式中的"-"替换为"/&qu ...

  2. COGS 293.[NOI2000] 单词查找树

    ★   输入文件:trie.in   输出文件:trie.out   简单对比 时间限制:1 s   内存限制:128 MB 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里.为了提高 ...

  3. Centos7 ActiveMQ 安装并配置为开机启动

    第一步, 环境准备 更新CentOS7 ,安装epel-release,安装JDK,关闭防火墙 # yum clean all && yum update# yum install - ...

  4. LeetCode——Arithmetic Slices

    Question A sequence of number is called arithmetic if it consists of at least three elements and if ...

  5. 调试bug的几种方法

    1.php中的dump,echo,exit 2.浏览器的f12 3.安装xdebug扩展(debugger调试器,profiler探查器,trace代码跟踪) profile日志能记录函数的执行耗时和 ...

  6. nginx 开启rewrite thinkcmf

    server{ ... 省略 location / { index index.php index.html index.htm; #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则 if ...

  7. 基于GTID搭建MHA

    一.简介 MHA 是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程 ...

  8. Canvas几种模式的区别

    1.screen space-overlay UI显示在最前方 2.screen space-camera 箭头指的是canvas 这样可以放置东西在UI前方和UI后方 3.world space 做 ...

  9. JSP XML 数据处理

    JSP XML 数据处理 当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RSS文档.作为一个XML文档,它仅仅只是一堆文本而已,使用JSP创建XML文档并不比创 ...

  10. 设计模式--解释器模式C++实现

    1定义 给定一门语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子 2类图 角色分析 AbstractExpression抽象解释器,具体的解释任务由各个实现类完成, ...