awk匹配两个文件并输出列名和值的差异

awk to match two files and output the difference with column name & value

我想用 awk 比较两个文件并输出不匹配的列。

到目前为止我尝试了什么

awk -F',' 'FNR==NR{
        for(i=0;i<=NF; i++){
        a[i];

        }next;
        }
        for (i=1;i<=NF;i++){
        if($i in a){
        {printf("Match: %s , col-> %d" $i,i-1)}
        else

        {printf("UN- Match: %s , col-> %d" $i,i-1)
        }

        }
        }'

但是这个没有用。

这是我需要的。

Example:
file 1
1,2,3,4,5,6


file 2
1,2,5,4,5,7

Output

col 3 -> 3,5
col 6 -> 6,7

Awk,也适用于更多行

awk -F, 'NR==FNR{for(i=1;i<=NF;i++)a[NR,i]=$i;next}
{for(i=1;i<=NF;i++)if(a[FNR,i]!=$i)print "Row:"FNR,"Col:"i"->",a[FNR,i]","$i}' file{1,2}

例子

输入

文件 1

1,2,3,4,5,6
6,5,4,3,2,1

文件 2

1,2,5,4,5,7
6,4,4,3,1,1

输出

Row:1 Col:3-> 3,5
Row:1 Col:6-> 6,7
Row:2 Col:2-> 5,4
Row:2 Col:5-> 2,1