【发布时间】:2018-09-10 10:35:42
【问题描述】:
鉴于此输入:
# 133 15
KBL 40.385 26.385 1.0000 S
KBL 23.846 9.289 1.0000 P
KBL 40.234 26.385 1.0000 S
# 133 4
KBL 40.234 28.566 1.0000 S
KBL 40.385 28.566 1.0000 S
KBL 23.846 12.032 1.0000 P
我希望删除重复的行,特别是在第 2 列或第 3 列的值重复的地方。换句话说,我希望得到这个输出:
# 133 15
KBL 40.385 26.385 1.0000 S
KBL 23.846 9.289 1.0000 P
# 133 4
KBL 40.234 28.566 1.0000 S
KBL 23.846 12.032 1.0000 P
我试过awk '!a[$0]++' file.xy。但是,这只会删除完全相同的行。我希望只删除在第二列或第三列中具有重复值的行。
使用 Awk,删除这些重复行的最佳方法是什么? 谢谢。
【问题讨论】:
-
你能分享到目前为止你尝试了什么吗?
-
我试过 awk '!a[$0]++' file.xy ;但是,这只会删除完全相同的行。我希望只删除在第二列或第三列中具有重复值的行。
-
您的最后一行有重复的
$2。不确定您的规格与发布的数据是否一致