删除.csv上两列上的重复行

时间:2018-12-02 19:37:28

标签: bash csv awk grep

我想在bash上使用管道作为字段分隔符的csv文件上找到重复项。

让我们举个例子:

输入:

W14|E75  
Z20|K60  
R59|R59  
K60|O74  
A08|M10  

预期输出:

Z20|K60  
R59|R59  
K60|O74  

其他预期输出:

Z20|K60  
R59|R59  

我的意思是当表达式已经存在于第一列中时,只需将其保留下来即可,与第二列相同,否则我可以接受只保留第一行。

我尝试的是:

awk -F "|" 'FNR==NR { x[$1,$2]++; next } x[$1,$2] > 1' file.csv file.csv

我考虑使用grep,但我不确定要怎么做。

对不起,英语不好,谢谢!

1 个答案:

答案 0 :(得分:2)

我认为基于输出,无论它们在行中的位置如何,您都需要非唯一条目

#/bin/bash
a &
b &
c &
wait

应该给您第一个输出。