awk命令结合管道命令对json文件进行统计分析
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文件进行统计分析的更多相关文章
- 使用Scrapy命令行工具【导出JSON文件】时编码设置
Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用s ...
- 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令
最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...
- CMD命令行管道命令
一.什么是管道命令 管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息. 如 dir 命令会显示目录下所有文件夹和文件,可以使用管道命令| findstr "" 将di ...
- windows下cmd组合命令和管道命令
组合命令:&& 管道命令:|
- awk将普通文本转换成json文件
script1: #!/bin/bash #Date:-- #Author:eivll0m awk -F"\t" -vq='"' '{ a[$]=a[$]?a[$]:$ ...
- npm init 命令生成package.json文件
通过npm init 命令可以生成一个package.json文件.这个文件是 整个项目的描述文件.通过这个文件可以清楚的知道项目的包依赖关系,版本,作者等信息.每个NPM包都有自己的package. ...
- linux shell 管道命令(pipe)使用及与shell重定向区别
管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandarderror 信息没有直接处理能力.然后,传递给下一个命令 ...
- 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
管道和过滤器 管道和过滤器是八种体系结构模式之一,这八种体系结构模式是:层.管道和过滤器.黑板.代理者.模型-视图-控制器(MVC) 表示-抽象-控制(PAC).微核.映像. 管道和过滤器适用于需要渐 ...
- Linux的管道命令
Linux的管道命令 管道命令(Pipe) 管道命令用"|"来表示,管道命令需要接收前一个命令的输出来进行操作,但不能处理前一个命令的错误. //选取界面:cut,grep cut ...
随机推荐
- SVN主从高可用
https://blog.csdn.net/conwayli/article/details/80235738
- win10已计划自动重启怎么关
此电脑->右击 管理->系统工具->任务计划程序->Microsoft->Windows->UpdateOrchestrator->Reboot 任务禁用
- 解决github访问慢的问题
在windows hosts文件末尾增加以下内容 # GitHub Start 192.30.253.112 github.com 192.30.253.119 gist.github.com 151 ...
- 上采样和PixelShuffle(转)
有些地方还没看懂, mark一下 文章来源: https://blog.csdn.net/g11d111/article/details/82855946 去年曾经使用过FCN(全卷积神经网络)及其派 ...
- PAT1071. Speech Patterns (25)
题目要求的Word定义 Here a "word" is defined as a continuous sequence of alphanumerical characters ...
- 锁(1)-- java锁
前言: 锁分3种:java锁.分布式锁.DB锁 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁 ...
- 开机启动服务(ftp、apache、mysql)
当linux服务器开机时,会将 /etc/rc.d/rc.local 中的指令全部执行一遍, 因此将相应服务的启动指令放到该shell脚本中即可实现开机启动效果; 在 /etc/rc.d/rc.loc ...
- Docker 进入容器的几种方式
进入Docker容器比较常见的几种做法如下: 使用docker attach 使用SSH 使用nsenter 使用exec 一.使用docker attach进入Docker容器 Docker提供了a ...
- raid write back / write throught
RAID write back指的是raid控制器能够将写入的数据写入自己的缓存中,并把它们安排到后续再执行,这样做的好处就是不需要等实际写入磁盘再返回,因此写入更快.对于数据库而言,这一点更为重要, ...
- nmcli 使用记录---fatt
安装nmcli工具 yum install NetworkManager 使用语法 Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } OBJECT g[ ...