在bash文件中解读不同的列

时间:2016-05-10 22:32:57

标签: linux bash awk sed cut

我有一个文件格式如下:

6,test,A,B,C,D
6,test,A,B,C,F
7,test,A,B,C
7,test,A,B,D

我想写一些输出不同列的东西。例如:

6 - column 6 is different
7 - column 5 is different

列将始终用逗号分隔,第一列将始终是行中的唯一标识符。

1 个答案:

答案 0 :(得分:1)

awk救援!

这是原型,可以根据您的需要修复文本

$ awk -F, '$1 in a{n=split(a[$1],p);
                   for(i=2;i<=n;i++) 
                       if(p[i]!=$i) print $1,i " different"; next}
                  {a[$1]=$0}' file

6 6 different
7 5 different