awk:如何匹配两个文件并获取合并这些文件的输出

时间:2017-02-15 18:58:23

标签: awk match

我有下一个问题,我有两个文件,每个文件有10个col,行数不同。我想比较col 7,如果匹配,则将两个文件的完整行导出到另一个文件中。我正在尝试

STCPort

但我只在其他文件中获得file1的匹配。我不介意如果匹配时我只获得文件1中的第10列。有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设两个文件至少有7列,你忘了告诉awk打印出两个值。您当前的解决方案是检查file2中的第7个值是否不在具有file1值的数组中,因此只会将这些行从file2打印到新文件中。因此,只需将测试值放在数组中,然后将打印件放入一些花括号中:

awk 'NR==FNR{a[$7]=$0;next}$7 in a{print a[$7],$0}' file1  file2 > output