我想删除第一列中拥有单例的每一行。例如
输入:字母代表可能有数千个的变量。数字代表列和行。有多个列(此处未显示)。
1.
1. A
2. B
3. C
4. C
5. D
6. E
7. A
8. H
9. D
10. D
输出:
1.
1. A
3. C
4. C
5. D
7. A
9. D
10. D
答案1
我想我理解了你的期望。
awk 'NR==FNR{s[$1]++;next}
(s[$1]>1){ printf("%2d. %s\n",FNR,$0)
}' infile infile
1. A another_column ...
3. C ...
4. C ...
5. D ...
7. A ...
9. D ...
10. D ...
如果您不希望结果中包含记录编号,请使用以下命令:
awk 'NR==FNR{s[$1]++;next} (s[$1]>1)' infile infile
A another_column ...
C ...
C ...
D ...
A ...
D ...
D ...