免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: humanzhang
打印 上一主题 下一主题

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

论坛徽章:
0
21 [报告]
发表于 2010-03-16 09:27 |只看该作者
回复 12# 709101040516

不好意思 上个例子错了 这个例子用你的awk还是只能输出一个值啊

$ cat test
a 1
b 1
c 1
d 1
e 3
f 3
g 1
[dzhang@dzhang-pc ~]$ awk '$2>max{max=$2;maxline=$0}END{print maxline}' test
e 3

论坛徽章:
0
22 [报告]
发表于 2010-03-16 09:40 |只看该作者
回复 15# where27


    理解了  多谢!

论坛徽章:
0
23 [报告]
发表于 2010-03-16 10:12 |只看该作者
回复 21# humanzhang


    既然是这样的话,就分2步来做吧。。。
  awk '$2>max{max=$2}END{print max}' URFILE 得出最大值
   awk 'NF>= 这个最大值' URFILE
。。。。比较傻

论坛徽章:
0
24 [报告]
发表于 2010-03-16 10:13 |只看该作者
回复 23# 709101040516


    哼,说我傻。你才傻

论坛徽章:
0
25 [报告]
发表于 2010-03-16 10:17 |只看该作者
回复 24# where27


    我啥时候说你傻了。。。无图无真相

论坛徽章:
0
26 [报告]
发表于 2010-03-16 10:19 |只看该作者
回复 25# 709101040516


    我就是分两步来做的。。。

论坛徽章:
0
27 [报告]
发表于 2010-03-16 10:20 |只看该作者
回复  humanzhang


    既然是这样的话,就分2步来做吧。。。
  awk '$2>max{max=$2}END{print max}' ...
709101040516 发表于 2010-03-16 10:12



不傻的办法有的
  1. awk '$2>max{max=$2}{a[$2]=a[$2]?a[$2]"\n"$0:$0}END{print a[max]}' file
复制代码

论坛徽章:
0
28 [报告]
发表于 2010-03-16 10:30 |只看该作者
回复 27# ywlscpl


    好办法,学习了

论坛徽章:
0
29 [报告]
发表于 2010-03-16 13:54 |只看该作者
sort -r +1 data|awk '$2>=max{max=$2;print $0}'

论坛徽章:
0
30 [报告]
发表于 2010-03-16 15:22 |只看该作者
回复  humanzhang
where27 发表于 2010-03-15 15:05



    我是新手,我想请教一下为什么要加上NR==NFR ,
  1. awk '{t=(t>$2)?t:$2}NR>FNR&&$NF==t' data data
复制代码
这也也可以啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP