我有一个文件 (input.txt
),其结构类似于:
abc 1
bcd a
cde 1
def 4
efg a
fgh 3
我想删除第 2 列中的重复项,以便该列中只有唯一的字符串(独立于第 1 列中的内容)。但是选择的行应该随意选择。输出可能例如是:
bcd a
cde 1
def 4
fgh 3
我试图创建一个列出重复项的文件(使用 awk '{print $2}' input.txt | sort | uniq -D | uniq
)但后来我只设法将它们全部删除awk '!A[$2]++'
而不是随机保留其中一个重复项。
最佳答案
预处理输入以使其随机化:
shuf input.txt | awk '!A[$2]++'
关于bash - 列 : randomly keep one 中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323423/