【发布时间】:2015-01-20 10:09:33
【问题描述】:
我有两个文件file1 和file2,这两个文件都有5 columns。
我想将file1 中的first 4 columns 与file2 进行比较。
如果相等,需要比较5th column。如果5th column values不同,需要将file1's 5th column打印为file2's 6th column。
我使用下面的awk 来比较两个不同文件中的两列,但是如果找到匹配项,如何比较多个列并将特定列附加到另一个文件中?
awk -F, 'NR==FNR{_1[$1]++;next}!_1[$1]'
文件1:
111,item1,garde1,wing1,maingroup
123,item3,grade5,wing10,topcat
132,item2,grade3,wing7,middlecat
134,item2,grade3,wing7,middlecat
177,item8,gradeA,wing11,lowcat
文件2:
111,item1,garde1,wing1,maingroup
123,item3,grade5,wing10,lowcat
132,item3,grade3,wing7,middlecat
126,item2,grade3,wing7,maingroup
177,item8,gradeA,wing11,lowcat
期望的输出:
123,item3,grade5,wing10,lowcat,topcat
【问题讨论】:
-
在编写软件时,通常认为给变量起有意义的名称是个好主意。
_1不符合条件!