免费注册 查看新帖 |

Chinaunix

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

一行中最大值 [复制链接]

论坛徽章:
2
操作系统版块每日发帖之星
日期:2016-06-13 06:20:00操作系统版块每日发帖之星
日期:2016-06-14 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-22 22:18 |只看该作者 |倒序浏览
各位大侠,

每个数字用tab键分割,输出每行中最大值。

tmp001.txt
1        4        5
5        1        4
0        4        6


结果:
5
5
6

open(IN1,"tmp01") || die "Cannot open this file";

@lines1 = <IN1>;

open(OUT,">max") || die "Cannot open this file";

for $item1(@lines1){

        chomp $item1;

@tmp1=split(/\s+/, $item1);

{

        print OUT max {$tmp1[0], $tmp1[1], $tmp1[2]},"\n";
                }

        $i++


close(IN1);


close(OUT);

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
2 [报告]
发表于 2015-05-22 22:26 |只看该作者
1        4        5
5        1        4
0        4        6



awk '{max=$1;for(i=2;i<=3;i++){if($i>max)max=$i}print max}' file

论坛徽章:
2
操作系统版块每日发帖之星
日期:2016-06-13 06:20:00操作系统版块每日发帖之星
日期:2016-06-14 06:20:00
3 [报告]
发表于 2015-05-22 22:41 |只看该作者
回复 2# zsszss0000


    十分感谢!

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
4 [报告]
发表于 2015-05-26 22:50 |只看该作者
回复 1# yueli7
  1. #!/usr/bin/perl

  2. use 5.018;

  3. say for map {
  4.     ( sort { $b <=> $a } split )[0]
  5. } <DATA>;


  6. __DATA__
  7. 1        4        5
  8. 5        1        4
  9. 0        4        6
复制代码
or:
  1. #!/usr/bin/perl

  2. use 5.018;

  3. sub max {
  4.     @_ = sort { $b <=> $a } @_;
  5.     return $_[0];
  6. }

  7. while (<DATA>) {
  8.     my @a   = split;
  9.     my $max = max(@a);
  10.     say $max;
  11. }

  12. __DATA__
  13. 1        4        5
  14. 5        1        4
  15. 0        4        6
复制代码

论坛徽章:
7
2015年迎新春徽章
日期:2015-03-04 10:01:442015年亚洲杯之科威特
日期:2015-04-17 17:27:042015亚冠之阿尔萨德
日期:2015-07-22 15:25:4015-16赛季CBA联赛之吉林
日期:2016-04-11 13:57:30操作系统版块每日发帖之星
日期:2016-06-24 06:20:00每日论坛发贴之星
日期:2016-06-24 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-05-09 12:31:45
5 [报告]
发表于 2015-05-29 11:16 |只看该作者
如果用awk求每一列的最小值,该怎么写?

论坛徽章:
0
6 [报告]
发表于 2015-05-30 19:13 |只看该作者
每行最大值: perl -ane '$m = 0; for (@F) {$m = $_ if $_ > $m;}; print "$m\n";'
每行最小值: perl -ane '$m = 0; for (@F) {$m = $_ if $_ < $m;}; print "$m\n";'
回复 5# 251744647


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
7 [报告]
发表于 2016-09-15 11:55 |只看该作者
  1. perl -anle 'print $F[-1] if(@F=sort(@F))' f
复制代码

论坛徽章:
0
8 [报告]
发表于 2016-09-15 16:38 |只看该作者
使用List::Util模块中max子程序就好。

论坛徽章:
0
9 [报告]
发表于 2016-09-15 21:18 |只看该作者
来一个
  1. perl -MList::Util='max' -ne 'print max split, "\n"' filename
复制代码

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
10 [报告]
发表于 2016-09-26 09:06 |只看该作者

  1. awk '{split($0,a);print a[asort(a)]}'  file
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP