在bash shell脚本中,我想查看一个数字列表,然后打印出最常出现的数字。如果有几个不同的数字出现的次数相同,我想打印最高的数字。例如,在这样的文件中:
10 10 10 15 15 20 20 20 20
我想打印值20。
我怎样才能做到这一点?
答案 0 :(得分:0)
如果数字在文件中,每行一个:
sort < myfile | uniq -c | sort -r | head -1
没有计数:
A=$(sort < myfile | uniq -c | sort -r | head -1)
set $A
echo $2
答案 1 :(得分:0)
您可以使用此命令 -
echo 10 10 10 15 15 20 20 20 20 | sed 's/ /\n/g' | sort | uniq -c | sort -V | tail -n 1 | awk '{print $2}'
它将打印您想要的数字。