【发布时间】:2016-03-27 20:57:58
【问题描述】:
我需要找到保存在字符串中的值的中位数。我必须在没有任何额外临时文件的情况下在 bash 中实现它,并且我不能使用 awk。
我有这个字符串保存在$string:
85 13 4 45 1111 89 87 66 1 5 2 51 13 66 98 50 20 14 18 16 31 21 5175 12
首先,我需要像这样对这些值进行排序:
1 2 4 5 12 13 13 14 16 18 20 21 31 45 50 51 66 66 85 87 89 98 1111 5175
然后我需要找到这些值的中位数
(21+31) / 2 = 26
我怎样才能做到这一点? bash中是否有任何有效的方法或命令可用?
我的想法:
要对值进行排序,我可以使用sort,但我不确定如何强制它对字符串中的值进行排序,因为它使用的是 FILE。
我不知道如何达到中位数,所以至少我会很感激。
【问题讨论】:
标签: linux string bash sorting median