【第22期】观点:IT 行业加班,到底有没有价值?

awk按照某个字段排列,求某个列的最大值最小值

原创 2016年08月29日 14:06:35

file

FFF;2011-10-1;2011-10-1 0:00 ;4.57389

FFF;2011-10-1;2011-10-1 0:15 ;4.33278

FFF;2011-10-2;2011-10-2 12:45;5.95446

FFF;2011-10-2;2011-10-2 15:00;6.21554

FFF;2011-10-3;2011-10-3 16:15;6.11111

FFF;2011-10-3;2011-10-3 14:45;6.21334

FFF;2011-10-3;2011-10-3 20:15;5.95223

FFF;2011-10-3;2011-10-3 8:30 ;4.05778

要求分号为分割符,以第1和第2个字段为特征,输出第5字段最大值的行:

FFF;2011-10-1;2011-10-1 0:00 ;4.57389

FFF;2011-10-2;2011-10-2 15:00;6.21554

FFF;2011-10-3;2011-10-3 14:45;6.21334

处理方法:

awk -F';''{i=$1$2;if(a[i]<$4){a[i]=$4;b[i]=$0}}END{for(j=1;j<=asorti(a,c);j++)print b[c[j]]}' file

解析:首先以$1$2为下标,然后数组a存放的是第四个字段的最大值,数组b存放的是整条记录,后面进行输出。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

使用awk对文档中特定字段的排序

使用awk对文档中特定字段的排序 ---------------------------------------------------- 1. 问题定义 现在要对如下文档按特定字段排序, l...

awk 指定列 排序 去重统计

hadoop fs  -text  /////20170205/00/*   | awk  '{print $2}'  | sort | uniq  | wc -l

awk统计耗时记录小节[最大值,最小值,平均值,统计,占比,排序]

现在有一个filter统计的服务端业务逻辑的耗时统计日志,格式如下 第一列是关键字,第二列和第三列是其它参数,第四列是耗时,我只关心第四列。 目的是统计出服务端的耗时情况(耗时长短,以及所...

Sql Server 取出多个字段列中的最大值和最小值

现有表table1,四个int型字段F1,F2,F3,F4;现要查询得到四列中的最大值,并只需要返回最大值 方法一: select case when F12&gt;F34 then F12 else F34 end as MaxNum from (select case when F1&gt;F2 then F1 else F2 end as F12, case when F3&gt;F4 then F3 else F4 end as F34 from table1) as t

Linux中awk命令正确的求最大值、最小值、平均值、总和

test.txt文件内容: 9 11 35 21 42 118 求最大值: awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} ...

oracle取出多个字段列中的最大值和最小值

转自:http://www.2cto.com/database/201108/101985.html 今天写sql 语句,需要取出多个字段列中的最大值和最小值。     本来想到的做法比较麻烦,要分别取出max(one),max(two),max(three),放到pb中在<a class="keylink" style="color: #333333; text-decoration: none;" h

使用awk求指定列的最大值最小值

需求:一文件内容如下,求第一列的最大值和最小值 1 1220 2 1221 3 1222 3 1223 4 1224 5 1225 12 1226 12 1227 12 1228 12 1229 12...

求数组中最大值和最小值

NSNumber *max=[m_listData valueForKeyPath:@"@max.doubleValue"]; NSNumber *min=[m_listData valueForKeyPath:@"@min.doubleValue"];

awk 求最大值,最小值

例,有一个文本文件4.txt; 490898  1189235  20212  1494270  146515  29369  23563  563027  22976  1278...

Oracle 取出多个字段列中的最大值和最小值

首先介绍两个函数(下面是两个连接): Oracle Least()函数 <a target="_blank" href="http://blo
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)