免费注册 查看新帖 |

Chinaunix

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

用perl 取最大数和最小数 [复制链接]

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-30 11:42 |只看该作者 |倒序浏览
本帖最后由 kernel69 于 2012-11-30 11:42 编辑

这是shell版的一个帖子,想用perl命令行解决,但没找到合适的方法,还请perl大牛们帮忙啊
现在有这样一个文加件的列表


aaa_bbb_1
aaa_bbb_11
aaa_bbb_12
~
aaa_bbb_19
aaa_bbb_2
aaa_bbb_21
~
aaa_bbb_29

aaa_bbb_3
.....




最后想要得到的结果是

bbb  最小的数-最大的数

比如
bbb   1-29

这样的一个统计效果。

perl命令行模式怎么写?

论坛徽章:
0
2 [报告]
发表于 2012-11-30 11:51 |只看该作者
A homework question?

$ perl -nle 'push @a,$1 if /bbb_(\d+)/; END{($min,$max)=(sort {$a<=>$b} @a)[0,-1];print "$min $max"}' data.txt
1 29

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
3 [报告]
发表于 2012-11-30 13:59 |只看该作者
版主,文本格式是bbb 1-29
还有一个想请教,
  1. ($min,$max)=(sort {$a<=>$b} @a)[0,-1]
复制代码
代码中=()[0,-1]不太明白什么意思,sort出来的值怎么就能用[0,-1]调用了那?回复 2# 兰花仙子


   

论坛徽章:
0
4 [报告]
发表于 2012-11-30 14:28 |只看该作者
回复 3# kernel69


    sort 大小排序, [0,-1] 数组切片
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP