LINUX Shell:比较一组数的大小,输出最大者

原创 2006年06月04日 11:29:00

比较一组数的大小,输出最大者

CODE:
#!/bin/bash
#找出最大的数
#2006.5.13 created by hjack
#version 1
#history:

Usage(){
  echo "Usage:max x1 x2 x3 ..."
  exit 1
}

#=============================
#传统方法,逐个比较,大的就赋给max变量。
#-----------------------------
max1(){
  max=$1
  for i in $(echo $*)
  do
    if [ $max -lt $i ];then
      max=$i
    fi
  done
  echo "the max value is : $max"
}

#=============================
#方法同max1,使用了shift来对参数进行移动。
#-----------------------------
max2(){
  max=$1
  while [ $2 ]
  do
    if [ $max -lt $2 ];then
      max=$2
    fi
    shift
  done
  echo "the max value is : $max"
}

#=============================
#先对要比较的数进行sort排序,然后输出最后一行。
#有个问题是,怎样把结果保存在一个变量里,像上面两个例子一样。 谁知道就说说~
#-----------------------------
max3(){
  for i in $(echo $*)
  do
    echo $i
  done | sort -n | tail -1
}

#=============================
#利用awk进行处理。
#----------------------------
max4(){
  echo "$@" | awk 'BEGIN{x=$1;} {for(i=1;i<=NF;i++)if($i>x)x=$i;} END{print "the max value is:" x}'
}

main(){
  if [ $# -lt "1" ] ;then
    Usage "$@"
  fi
  
  max1 "$@"
  max2 "$@"
  max3 "$@"
  max4 "$@"
}

#----------------
main "$@"
方法应该还有很多的,呵呵。暂想到这几个。想到再加上。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指offer (30)选择问题-----1.有一组N个数,确定其中第K个最大者;2.求最小的k个数

该问题的第一个解法 就是将N个数读进一个数组中,再通过某种
  • jw903
  • jw903
  • 2014-04-04 15:41
  • 1134

创建固定大小的文件 -- Linux shell 脚本编写实例

创建固定大小的文件 -- Linux shell 脚本编写实例   昨天验证bug时,需要在原来文件的基础上生成一个固定大小的新文件,具体要求如下:   1. 源文件 src_fil...

Linux Shell字符串比较

  • 2016-08-25 13:44
  • 321KB
  • 下载

linux shell 正则表达式(BREs,EREs,PREs)差异比较

正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计...

linux shell编程学习--test测试比较命令

本文介绍了linux shell自带test命令的各种用法。在linux shell编程过程中,如何使用test命令进行算术比较,文件属性,文件修改,字符串比较,以及逻辑表达式运算的操作。

linux shell bash 比较操作

本文转载自:http://www.2cto.com/os/201202/120793.html

linux shell 正则表达式(BREs,EREs,PREs)差异比较

我想各位也和我一样,再linux下使用grep,egrep, awk , sed, vi的搜索时,会经常搞不太清楚,哪此特殊字符得使用转义字符'\' ..   哪些不需要, grep与egrep的差异...

linux shell bash 比较操作

转自:http://www.2cto.com/os/201202/120793.html 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ ...

linux shell 正则表达式(BREs,EREs,PREs)差异比较

linux shell 正则表达式(BREs,EREs,PREs)差异比较   转自:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847...

linux shell正则表达式差异比较

正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)