从 csv 文件中的列获取唯一值

Getting unique values from column in a csv file

我有以下输入:

no,zadrar,MENTOR,rossana@xt.com,AGRATE
no,mittalsu,MENTOR,rossana@xt.com,GREATER NOIDA
no,abousamr,CADENCE,selim@xt.com,CROLLES
no,lokinsks,MENTOR,sergey@xt.com,CROLLES
no,billys,MENTOR,billy@xt.com,CROLLES
no,basiles1,CADENCE,stephane@xt.com,CASTELLETTO
no,cesaris1,CADENCE,stephane@xt.com,CROLLES

我只想获取第 4 列唯一的行:

no,abousamr,CADENCE,selim@xt.com,CROLLES
no,lokinsks,MENTOR,sergey@xt.com,CROLLES
no,billys,MENTOR,billy@xt.com,CROLLES

我试过:

awk -F"," '{print }' $vendor.csv | sort | uniq -u

但我得到:

    selim@xt.com
    sergey@xt.com
    billy@xt.com

能否请您尝试以下(阅读 Input_file 2 次)。

awk -F',' 'FNR==NR{a[]++;next} a[]==1'  Input_file Input_file

您可以简单地使用 sort 命令提供的选项:

sort -u -t, -k4,4 file.csv

man页面可以看到,选项-u代表"unique",-t代表字段分隔符,-k允许你select 位置(键)。