gpt4 book ai didi

AWK 在第 3 列中查找重复值。打印整行

转载 作者:行者123 更新时间:2023-12-05 01:00:28 24 4
gpt4 key购买 nike

为什么这不起作用?我找了这么久,找到了一些非常复杂的解决方案,但我认为这可以简化和重用......悲伤:'(

声明

awk -F"\t" '!seen[$3]++'

文件

r1c1    r1c2    r1c3
r2c1 r2c2 r2c3
r3c1 r3c2 r3c3
r4c1 r4c2 r3c3
r5c1 r5c2 r5c3

期望的输出

r3c1    r3c2    r3c3
r4c1 r4c2 r3c3

代码添加 0 和 1。

[user@host]$ awk '{a[$3]=a[$3] $0 RS c[$3]++} END {for (i in c) if (c[i]>1) printf "%s",a[i]}' file
r3c1 r3c2 r3c3
0r4c1 r4c2 r3c3
1[jcole@dukescri01 srlg]$

最佳答案

在 awk 中,将记录存储为哈希的一次性版本:

$ awk '
{
a[$3]=a[$3] $0 RS # store records
c[$3]++ # counter
}
END {
for(i in c)
if(c[i]>1) # pick the ones with duplicates
printf "%s",a[i]
}' file
r3c1 r3c2 r3c3
r4c1 r4c2 r3c3

关于AWK 在第 3 列中查找重复值。打印整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com