比较一组数的大小,输出最大者
#找出最大的数
#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 "$@"
LINUX Shell:比较一组数的大小,输出最大者
最新推荐文章于 2023-01-11 14:18:10 发布
本文介绍如何在Linux Shell中比较一组数的大小,并分别使用四种不同的方法找出并输出最大值:传统逐个比较、使用shift、排序后取最后一个以及利用awk命令。每个方法都有详细代码示例。
CODE:
#!/bin/bash
方法应该还有很多的,呵呵。暂想到这几个。想到再加上。
1934

被折叠的 条评论
为什么被折叠?



