这感觉就像一个Stack Overflow问题,人们已经回答了,但我找不到合适的帖子。
例如,在下面的列表中,我希望能够为第一个字段打印最多第N个个重复项。这是原始列表:
apple toledo
apple omaha
apple butte
apple freeport
peach saginaw
peach frakenmuth
pears wichita
因此,例如,标准的uniq
做事方式可以生成(在未排序的列表上):
apple toledo
peach saginaw
pears wichita
但我可能希望保留 2个重复的条目:
apple toledo
apple omaha
peach saginaw
peach frakenmuth
pears wichita
或者如果我感到疯狂,甚至会有3个重复的条目:
apple toledo
apple omaha
apple butte
peach saginaw
peach frakenmuth
pears wichita
有什么明智的方法可以在bash中这样做吗?
答案 0 :(得分:0)
怎么样:
cat list | awk 'count[$1]++ < 2'
您可以将数字2更改为3或其他任何内容。