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. git 总结命令

    git 命令 创建git版本库:git init 查看状态:git status 把文件添加到暂存区:git add 把文件提交到版本库:git commit  -m "提交说明" ...

  2. 计算java对象的内存占用

    代码引用自:https://blog.csdn.net/antony9118/article/details/54317637  感谢博主分享: import java.util.ArrayList; ...

  3. LeetCode—— Partition Equal Subset Sum

    Question Given a non-empty array containing only positive integers, find if the array can be partiti ...

  4. 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析

    目录 0. 论文链接 1. 概述 2. Adapting classifiers for dense prediction 3. upsampling 3.1 Shift-and-stitch 3.2 ...

  5. jQuery实现输入框提示,当获取焦点时提示消失,当失去焦点时内容为空则显示提示,否则保留输入信息

    首先看效果 默认状态下 获取焦点状态下 什么也没输入,离开 有输入离开 输入默认值离开 代码 <!DOCTYPE html> <html> <head> <m ...

  6. oracle快速创建主键

    oracle中,有时我们会发现有一些表中,一些记录它们每个字段的数据 都是一样一样的,即重复数据,这种数据的不存在肯定是不对了. 究其原因,就是该表没有主键,给一个表创建主键,非常容易: alter ...

  7. Grunt Part 2

    Objectives and Outcomes In this exercise, you will continue to learn to use Grunt, the task runner. ...

  8. NPM Scripts -- onchange parallelshell

    Watch for changes to the styles.scss file and automatically compile it to the css file. Run multiple ...

  9. 51nod 1187 寻找分数

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  10. Eclipse 使用中遇到的一些问题!

    解决办法~ 1.先检查本地svn 版本与Eclipse 中svn插件 的区别 2.发现版本一致,没解决,发现如图 发现   svn接口报错 javaHL(JNI) Not Available!@ 所以 ...