如何排序,uniq和显示超过X次的行

And*_*nen 12 sorting bash uniq

我有这样一个文件:

80.13.178.2
80.13.178.2
80.13.178.2
80.13.178.2
80.13.178.1
80.13.178.3
80.13.178.3
80.13.178.3
80.13.178.4
80.13.178.4
80.13.178.7
Run Code Online (Sandbox Code Playgroud)

我需要显示重复行的唯一条目(类似于uniq -d),但只发生两次以上的条目(两次是一个示例,因此可以灵活地定义下限.)

查找具有三次或更多次出现的条目时,此示例的输出应如下所示:

80.13.178.2
80.13.178.3
Run Code Online (Sandbox Code Playgroud)

iru*_*var 18

将输出从中uniq -cd输入awk

sort test.file | uniq -cd | awk -v limit=2 '$1 > limit{print $2}'
Run Code Online (Sandbox Code Playgroud)


hek*_*mgl 9

纯粹的awk:

awk '{a[$0]++}END{for(i in a){if(a[i] > 2){print i}}}' a.txt 
Run Code Online (Sandbox Code Playgroud)

它遍历文件并计算每个IP的出现次数.在文件的末尾,它输出每次发生超过2次的IP.