如何在数组中找到最高数字?

时间:2012-10-05 10:24:04

标签: bash

  

可能重复:
  How to sort an array in BASH

我在数组10 30 44 44 69 12 11...中有数字。如何显示数组中的最高值?

echo $NUM //result 69

2 个答案:

答案 0 :(得分:35)

您可以使用sort查找。

#! /bin/bash
ar=(10 30 44 44 69 12 11)
IFS=$'\n'
echo "${ar[*]}" | sort -nr | head -n1

或者,自己寻找最大值:

max=${ar[0]}
for n in "${ar[@]}" ; do
    ((n > max)) && max=$n
done
echo $max

答案 1 :(得分:3)

试试这个:

a=(10 30 44 44 69 12 11 100)

max=0
for v in ${a[@]}; do
    if (( $v > $max )); then max=$v; fi; 
done
echo $max

结果为100