根据前三列值删除重复行

根据前三列值删除重复行

我收到一个包含以下内容的文件

902461360 81636718 32863608 0 永久员工 902492248 81415224 32775337 0 临时员工 902495059 81686374 32881482 0 永久员工 902495059 81686374 328 81482 0 员工供应商 902504989 81675052 32877123 0 员工供应商 902532086 81691300 32884527 0 员工供应商 902723910 81690082 32882735 0 永久员工 902723910 816900 82 32882735 0 员工供应商

前三个值可能在其他行中重复我想保留一个实例并删除其他重复项

输出应如下所示

902461360 81636718 32863608 0 永久员工 902492248 81415224 32775337 0 临时员工 902495059 81686374 32881482 0 永久员工 902504989 81675052 328 77123 0 员工供应商 902532086 81691300 32884527 0 员工供应商 902723910 81690082 32882735 0 永久员工

答案1

我会尝试

awk '!a[$1 $2 $3]++ { print ;}' file

在哪里

  • !a[$1 $2 $3]++第一次找到这些值时将评估为 true。

awk '!a[$0]++' 是如何工作的?更多细节。

相关内容