如何使用shell脚本比较两个不同csv文件中的两列?

qcuzuvrc  于 2023-01-26  发布在  Shell
关注(0)|答案(1)|浏览(256)

我已经使用下面的命令来比较两个不同的csv文件中的两列是否相同,但它不工作,有人能帮助我在这里得到正确的输出吗?

awk -F,'NR == FNR{a[$1]=$2;next} ($1 in a) 
        {if (a[$1] != $2) print $1 " not same"; else print $1 " same"}
' file1.csv file2.csv

仅限于上述信息
file1.csv:

Suites,Testcase_ID, Jan24.2023-RUN2
vmware,agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_1,Cfail
vmware,agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_10,Cfail
vmware,agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_11,Cfail
vmware,agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_12,Cfail

file2.csv:

Testcase_ID, Jan24.2023-RUN3
agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_1,Cpass
agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_10,Cpass
agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_11,Cpass
agentxstp_SI.csv/ISS_SNMP_AGNTX_ST_12,Cpass
wnavrhmk

wnavrhmk1#

你可以试试这个:

awk -F',' 'NR==FNR {a[$1]=$2; next} ($1 in a) {if (a[$1] != $2) print $1 " not same"; else print $1 " same"}' file1.csv file2.csv

或者另一种方式:

awk -F',' 'NR==FNR{a[$1]=$2;next} {if (a[$1]!=$2) print $1 " not same"; else print $1 " same"}' file1.csv file2.csv

相关问题