忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 7177 | 回复: 39

请教用awk求最大值的问题 [复制链接]
更多

帖子
74
主题
12
精华
0
可用积分
66
专家积分
0
在线时间
297 小时
注册时间
2006-09-08
最后登录
2011-02-14
论坛徽章:
0
发表于 2010-03-15 14:52:16 |显示全部楼层
$ cat data
a 1
b 1
c 1
d 1
e 3
f 3
g 1

想用awk打印出其第2个域中最大的行, 也就是
e 3
f 3

Rank: 6Rank: 6

帖子
1639
主题
33
精华
0
可用积分
9007
专家积分
10
在线时间
2626 小时
注册时间
2009-07-23
最后登录
2012-02-08
论坛徽章:
0
发表于 2010-03-15 15:05:19 |显示全部楼层
本帖最后由 where27 于 2010-03-15 15:10 编辑

回复 1# humanzhang
  1. awk 'NR==FNR{t=(t>$2)?t:$2}NR>FNR&&$NF==t' date date
复制代码
it民工
雄起!!

Rank: 1

帖子
137
主题
30
精华
0
可用积分
578
专家积分
0
在线时间
789 小时
注册时间
2007-08-07
最后登录
2011-04-08
论坛徽章:
0
发表于 2010-03-15 15:18:03 |显示全部楼层

Rank: 8Rank: 8

帖子
15711
主题
57
精华
7
可用积分
27236
专家积分
105
在线时间
5461 小时
注册时间
2007-11-05
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-15 15:28:11 |显示全部楼层
  1. awk '{a[$0]=$2}END{n=asort(a,b);for (i in a) if (a[i]==b[n]) print i}' urfile
复制代码
www.unix-center.net 提供的免费服务器:
AIX Fedora FreeBSD OpenSolaris Solaris Ubuntu


Rank: 5Rank: 5

帖子
1639
主题
39
精华
0
可用积分
5843
专家积分
30
在线时间
1467 小时
注册时间
2010-01-14
最后登录
2012-02-06
论坛徽章:
0
发表于 2010-03-15 17:24:18 |显示全部楼层
回复 4# Shell_HAT


    n=asort(a,b)这是什么意思?

Rank: 8Rank: 8

帖子
15711
主题
57
精华
7
可用积分
27236
专家积分
105
在线时间
5461 小时
注册时间
2007-11-05
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-15 17:44:36 |显示全部楼层
回复 5# bbgg1983


男人知道:

       asort(s [, d])          Returns the number of elements  in  the  source
                               array  s.   The  contents of s are sorted using
                               gawk's normal rules for comparing  values,  and
                               the  indices  of  the  sorted  values  of s are
                               replaced with sequential integers starting with
                               1. If the optional destination array d is spec-
                               ified, then s is first duplicated into  d,  and
                               then  d  is  sorted, leaving the indices of the
                               source array s unchanged.
www.unix-center.net 提供的免费服务器:
AIX Fedora FreeBSD OpenSolaris Solaris Ubuntu


帖子
74
主题
12
精华
0
可用积分
66
专家积分
0
在线时间
297 小时
注册时间
2006-09-08
最后登录
2011-02-14
论坛徽章:
0
发表于 2010-03-15 17:47:24 |显示全部楼层
回复 2# where27

真厉害  谢谢 能解释一下你的语法吗
红太郎与美羊羊

Rank: 3Rank: 3

帖子
621
主题
32
精华
0
可用积分
2663
专家积分
0
在线时间
1276 小时
注册时间
2009-07-21
最后登录
2011-10-28
论坛徽章:
0
发表于 2010-03-15 18:03:27 |显示全部楼层
回复 1# humanzhang


    两种办法,一种是 sort -k2nr  文件 | head -1
另外一种是 awk '$2>max{max=$2;maxline=$0}END{print maxline}'  URFIE
你是那样拉风(出色)的男人,不管在什么地方,都好象漆黑中的萤火虫一样,那样的鲜明,光亮,你那妖异的眼神,唏嘘的胡渣滓,神呼其技的刀法,还有那杯dry”马地泥”,都深深的迷住了我。

帖子
74
主题
12
精华
0
可用积分
66
专家积分
0
在线时间
297 小时
注册时间
2006-09-08
最后登录
2011-02-14
论坛徽章:
0
发表于 2010-03-15 18:07:12 |显示全部楼层
回复 8# 709101040516


    谢谢 但是这两种办法都只能得出一个最高值 我想考虑同时又两个最高值的情况
红太郎与美羊羊

Rank: 3Rank: 3

帖子
621
主题
32
精华
0
可用积分
2663
专家积分
0
在线时间
1276 小时
注册时间
2009-07-21
最后登录
2011-10-28
论坛徽章:
0
发表于 2010-03-15 18:13:11 |显示全部楼层
回复 9# humanzhang


    awk 那个 你确定??
你是那样拉风(出色)的男人,不管在什么地方,都好象漆黑中的萤火虫一样,那样的鲜明,光亮,你那妖异的眼神,唏嘘的胡渣滓,神呼其技的刀法,还有那杯dry”马地泥”,都深深的迷住了我。
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP