![](/img/trans.png)
[英]Bash: how to count unique values in array and retrieve value with most duplicates
[英]Count unique values in a bash array
我有一个数组${sorted[@]}
。 如何计算数组元素的出现频率。
例如:
数组值:
bob
jane
bob
peter
结果:
bob 2
jane 1
peter 1
(IFS=$'\n'; sort <<< "${array[*]}") | uniq -c
sort file | uniq -c
计算唯一行的出现次数 sort file | uniq -c
。 <<<
进行sort
。 ${array[*]}
,数组将扩展为一个字符串,其中数组元素由$IFS
分隔。 IFS=$'\\n'
我们将$IFS
变量专门设置为此命令的换行符。 $'...'
称为ANSI-C Quoting ,允许我们将换行符表示为\\n
。 (...)
用于保持$IFS
本地的变化。 在命令$IFS
将具有与之前相同的值。 array=(fire air fire earth water air air)
(IFS=$'\n'; sort <<< "${array[*]}") | uniq -c
版画
3 air
1 earth
2 fire
1 water
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.