我需要test.txt
根据前两列从文件中删除两个重复项:
tom,22,777
tom,22,888
tom,18,54
ray,44,43843
预期结果:
tom,18,54
ray,44,43843
我尝试使用cat test.txt | sort -u t, k1,1 k2,2
但它不起作用
答案1
您可以使用awk
: 处理文件两次,一次计算第一个和第二个字段的出现次数,然后再次打印行(如果计数为 1):
awk -F, 'NR==FNR{seen[$1,$2]++;next};seen[$1,$2]==1' infile infile
答案2
一种方法是假设 GNU grep(1)
(for fgrep -f -
),并假设输入中的字段仅包含字母数字字符:
cut -d , -f 1,2 file.csv | sort | uniq -d | fgrep -vwf - file.csv
答案3
尝试这个
cat file.txt | grep -v "`cut -d , -f 1,2 file.txt | uniq -d`"