Как найти наибольшее число в массиве?
Возможный дубликат:
Как отсортировать массив в BASH
У меня есть числа в массиве 10 30 44 44 69 12 11...
. Как отобразить наибольшее из массива?
echo $NUM //result 69
Ответы
Ответ 1
Вы можете использовать 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
Ответ 2
попробуйте следующее:
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