用于STDIN的数据列表的脚本返回最常见的值

时间:2013-08-15 10:27:13

标签: perl

我正在尝试编写一个脚本,该脚本在标准输入上获取数据I.e品牌列表,并提供10个最常见数据位的输出,包括计数。

我打算使用PERL,但请更正我

2 个答案:

答案 0 :(得分:1)

perl -ne '
  $s{$_}++ 
}{ 
  print map "$s{$_}: $_",
   (sort {$s{$b} <=> $s{$a}} keys %s)[0..9]
' 

答案 1 :(得分:0)

这是使用常见Linux命令的一种解决方案:

sort <input file> | uniq -c | sort -g | tail -n 10

说明:

  • sort:对来自文件或管道的输入数据进行排序
  • uniq -c:对已排序的数据进行分组并计算出现次数
  • sort -g:以数字方式对分组/计数的数据进行排序,升序
  • tail -n 10:取最后10个结果