在bash中查找文件中最频繁的行

use*_*993 5 bash lines

假设我有一个类似如下的文件:

Abigail 85
Kaylee 25
Kaylee 25
kaylee
Brooklyn
Kaylee 25
kaylee 25
Run Code Online (Sandbox Code Playgroud)

我想找到最重复的行,输出必须只是行.

我试过了

sort list | uniq -c
Run Code Online (Sandbox Code Playgroud)

但我需要干净的输出,只需要最重复的一行(在本例中Kaylee 25).

nit*_*tin 5

改善〜

$ sort zlist | uniq -c | sort -r | head -1|  xargs | cut -d" " -f2-

Kaylee 25
Run Code Online (Sandbox Code Playgroud)

这有帮助吗?


小智 5

恕我直言,这些答案都不能正确对结果进行排序。原因是,没有-n, 选项的排序将像这样“ 1 10 11 2 3 4”等排序,而不是“ 1 2 3 4 10 11 12”。所以,-n像这样添加:

sort zlist | uniq -c | sort -n -r | head -1
Run Code Online (Sandbox Code Playgroud)

当然,您可以将其通过管道传输到 xargs 或 sed,如前所述。