我有一个带数字的文件。每行一个数字
1234
54332
54321
32452
1234
1234
54321
我想删除每次出现次数不超过3次的数字。
我正在考虑排序然后加入行,然后删除那些没有3个单词的行。
我认为有一种更好的方法,但我不知道这么做。
有任何提示吗?
答案 0 :(得分:2)
正如我在你的问题上评论的那样,我会用awk来做。当然,vim也可以通过自定义函数来实现。
你可以尝试这一行:
%!awk '{a[$0]++}END{for(x in a)if(a[x]>3)for(y=1;y<=a[x];y++)print x}'
注意,你的例子不太好,因为没有“出现超过3次”的行。如果添加另一个1234
行,则上述命令的结果为:
1234
1234
1234
1234