【发布时间】:2016-09-27 15:14:58
【问题描述】:
我有一个包含四列的文件
3022751,6656,7656,T029957
3022751,6054,7054,T029957
3022751,10400,10400,T029958
3022751,10400,10400,T029958
我想删除在第 2 列和第 3 列中有重复的行。所以我的预期输出是这样的
3022751,6656,7656,T029957
3022751,6054,7054,T029957
我的这个 awk 脚本工作正常,但没有像这样删除重复的行
awk '!x[$2,$3]++' FS=","
当前输出为
3022751,6656,7656,T029957
3022751,6054,7054,T029957
3022751,10400,10400,T029958
谢谢。
【问题讨论】:
-
您为什么认为
!x[$2,$3]++会删除 $2 == $3 的行? -
您的意思是删除字段二和字段三相等的行,或者消除另一行的第二列中具有相同值的所有行(第三列相同)?在您公开的情况下,这两个规则都适用。