我有一個數字數組10 30 44 44 69 12 11...
英寸如何顯示數組中的最高值?
echo $NUM //result 69
我有一個數字數組10 30 44 44 69 12 11...
英寸如何顯示數組中的最高值?
echo $NUM //result 69
您可以使用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
試試這個:
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
以上問題與上面的答案相同 - max = 0時出現問題 - 如果所有參數均爲負值,該怎麼辦? ..這是一個更好的解決方案 - https://stackoverflow.com/a/40719447/2107205 – mato
http://stackoverflow.com/questions/7442417/how-to-sort-an-array-in-bash – paul
你有什麼嘗試到目前爲止?嘗試關注[橡皮鴨](http://www.codinghorror.com/blog/2012/03/rubber-duck-problem-solving.html)示例。 – Pureferret