打印整行,当发现重复时
这是我输入的片段:
DGD3 SOL10
DGD53 SOL15
DGD100 SOL15
DGD92 SOL20
DGD41 SOL22
DGD62 SOL35
DGD13 SOL40
DGD13 SOL40
我的预期输出
DGD53 SOL15
DGD100 SOL15
DGD13 SOL40
DGD13 SOL40
在我的数据中,我有时会重复 SOL(不超过两次重复,而不是例如文件中某些 SOL 的三倍,但仅重复)。SOL 在我的第二列中($2)。因此,当我找到重复的 SOL($2)时,我需要一个打印整行(DGD 和 SOL)的程序。你可以帮帮我吗?
回答
以 awkish 风格添加另一种方式,在第一次读取 Input_file 时获取所有值计数,并在第二次读取时根据计数打印所有值。公平警告,这可能不如其他 2 个解决方案快,但从理解目的来看应该很简单。
awk '
FNR==NR{
count[$2]++
next
}
(count[$2]>1)
' Input_file Input_file