• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux shell实现求一个多维数组中的最大和最小值

    同事发了一道shell题,是求一个多维数组中的最大和最小值
    如文件 99file:
     
    33      55      23      56      99
    234     234     545     6546    34
    11      43      534     33      75
    43      34      76      756     33
    343     890     77      667     55

    我的实现之一:

    #! /bin/bash
    echo "the file is :"
    cat 99shu
    max=0
    min=999999
    line=1
    dnum=$(cat 99shu| wc -l)
    while (($line=$dnum))
    do
    for i in $(cat 99shu|head -"$line")
        do
      ((max$i))max=$i
        ((min>$i))min=$i
        done
    let ++line
    done
     
    echo "the max number is: $max"
    echo "the min number is : $min"

    结果:

    the max number is: 6546
    the min number is : 11

    实现之二:

    #! /bin/bash
    # echo the MAX and the MIN
    
    echo "the numbers is:"
    cat 99shu
    mnum=0
    min=99999
    while  read line 
    do
    declare -a arr=($line)
    lnum=$(echo $line | wc -w)
    i=0
    while (( $i$lnum ))
    do
    (($mnum${arr[i]}))  mnum=${arr[i]}
    (($min>${arr[i]}))  min=${arr[i]}
    let ++i
    done
    done  99shu
    echo "the max number is $mnum"
    echo "the min number is $min"

    实现3,强大的awk

    #! /bin/bash
    echo "the MAX number is: $( cat 99shu | awk '{for(i=1;i=NF;i++)if(max$i) max=$i;print max}'|tail -1)"
    echo "eht MIN number is: $( cat 99shu | awk '{min=999999;for(i=1;i=NF;i++)if(min>$i)min=$i;print min}'|sort|head -1 )"

    实现4:

    #!/bin/bash
    min=$(cat  99shu | tr "\t" "\n"|tr " " "\n"|sort -n|uniq|grep -v "^$"|head -1)
    max=$(cat  99shu | tr "\t" "\n"|tr " " "\n"|sort -n|uniq|grep -v "^$"|tail -1)
    echo "The MAX number is $max"
    echo "The MIN number is $min"

    您可能感兴趣的文章:
    • Shell获取字符串长度的多种方法总结
    • 用Shell判断字符串包含关系的方法小结
    • linux shell字符串内置的常用操作(获取长度、查找、替换)
    • Shell中判断字符串是否为数字的6种方法分享
    • Shell脚本计算字符串长度和判断字符串为空小技巧
    • shell编程中的字符串截取方法小结
    • Shell脚本实现简单分割字符串
    • Shell脚本实现查找字符串中某字符最后出现的位置
    • Linux shell数组循环的实例详解
    • shell脚本编程之数组
    • Shell中创建序列和数组(list、array)的方法
    • shell脚本字符串和数组的使用操作方法
    上一篇:一个监控网卡流量的shell脚本
    下一篇:linux awk高级应用实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux shell实现求一个多维数组中的最大和最小值 linux,shell,实现,求,一个,