免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5270 | 回复: 12
打印 上一主题 下一主题

一个awk练习题...我搞不懂怎么求最大和最小值  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-17 00:08 |只看该作者 |倒序浏览


  1. Mike Harrington:(510) 548-1278:250:100:175

  2. Christian Dobbins:(408) 538-2358:155:90:201

  3. Susan Dalsass:(206) 654-6279:250:60:50

  4. Archie McNichol:(206) 548-1348:250:100:175

  5. Jody Savage:(206) 548-1278:15:188:150

  6. Guy Quigley:(916) 343-6410:250:100:175

  7. Dan Savage:(406) 298-7744:450:300:275

  8. Nancy McNeil:(206) 548-1278:250:80:75

  9. John Goldenrod:(916) 348-4278:250:100:175

  10. Chet Main:(510) 548-5258:50:95:135

  11. Tom Savage:(408) 926-3456:250:168:200

  12. Elizabeth Stachelin:(916) 440-1763:175:75:300

复制代码

要求输出成


  1.                     ***CAMPAIGN 1998 CONTRIBUTIONS***
  2. ----------------------------------------------------------------------
  3. NAME                 PHONE            Jan  |  Feb  |  Mar | Total Donated
  4. ----------------------------------------------------------------------
  5. Mike Harrington     (510) 548-1278    250.00   100.00  175.00   525.00
  6. Christian Dobbins   (408) 538-2358    155.00    90.00  201.00   446.00
  7. Susan Dalsass       (206) 654-6279    250.00    60.00   50.00   360.00
  8. Archie McNichol     (206) 548-1348    250.00   100.00  175.00   525.00
  9. Jody Savage         (206) 548-1278     15.00   188.00  150.00   353.00
  10. Guy Quigley         (916) 343-6410    250.00   100.00  175.00   525.00
  11. Dan Savage          (406) 298-7744    450.00   300.00  275.00  1025.00
  12. Nancy McNeil        (206) 548-1278    250.00    80.00   75.00   405.00
  13. John Goldenrod      (916) 348-4278    250.00   100.00  175.00   525.00
  14. Chet Main           (510) 548-5258     50.00    95.00  135.00   280.00
  15. Tom Savage          (408) 926-3456    250.00   168.00  200.00   618.00
  16. Elizabeth Stacheli  (916) 440-1763    175.00    75.00  300.00   550.00
  17. ----------------------------------------------------------------------
  18.                               SUMMARY
  19. ----------------------------------------------------------------------
  20. The campaign received a total of $6137.00 for this quarter.
  21. The average donation for the 12 contributors was $511.42.
  22. The highest contribution was $300.00.
  23. The lowest contribution was $15.00.
复制代码


其他都好办..就是最大最小值怎么求呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-12-17 08:17 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

awk 我不會....  ^_^

不知用 sort -n 來配 head -n 1 及 tail -n 1 ,再來 cut 是否可以?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-12-17 08:49 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

假如求文件的第三个域的最大和最小值:
  1. awk '{if($3>max)max=$3;if($3<min)min=$3}END{printf"Max is:%d Min is %d",max,min}' filename
复制代码

论坛徽章:
0
4 [报告]
发表于 2003-12-17 09:54 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

  1. 不知用 sort -n 來配 head -n 1 及 tail -n 1 ,再來 cut 是否可以?
复制代码


这个好..偶当初也是这么想..可惜题目是awk来作



  1. awk '{if($3>max)max=$3;if($3<min)min=$3}END{printf"Max is:%d Min is %d",max,min}' filename
复制代码


这个最大最小中的max和min是怎么来的?我糊涂了.

这个题目是这本书的第七章的一个练习题.(非常好的一本书.正在看中)
http://www.be10.net/soft/book/li ... , Third Edition.chm

awk Utility: awk Programming

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-12-17 11:57 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

原帖由 "iamok" 发表:

awk Utility: awk Programming

max和min只是在awk中使用的保存比较结果的变量而已。

论坛徽章:
0
6 [报告]
发表于 2003-12-17 16:52 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

总算明白了.thx大大的指导..

论坛徽章:
0
7 [报告]
发表于 2003-12-17 21:17 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

if($3>max)max=$3;if($3<min)min=$3

初始的时候max和min都是空的,$3>max很容易判断,可是什么时候$3<min(空值)呢?

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
8 [报告]
发表于 2003-12-17 21:38 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

原帖由 "iamok" 发表:
if($3>max)max=$3;if($3<min)min=$3

初始的时候max和min都是空的,$3>max很容易判断,可是什么时候$3<min(空值)呢?

细致!
如果$3全是负数,则max也不好办了
头痛医头,脚痛医脚。
这样如何? #未经测试!
awk 'NR==1{max=min=$3}{if($3>max)max=$3;if($3<min)min=$3}END{printf"Max is:%d Min is %d",max,min}' filename

论坛徽章:
0
9 [报告]
发表于 2003-12-17 23:06 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值

试了一下.只有max..

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
10 [报告]
发表于 2003-12-18 08:13 |只看该作者

一个awk练习题...我搞不懂怎么求最大和最小值


  1. awk -F: 'NR==1{max=min=$3}NF>=3{if($3>max)max=$3;if($3<min)min=$3}END{printf"Max is:%d Min is %d",max,min}' filename
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP