比较两个文件中的两列

时间:2014-06-17 14:04:10

标签: awk

我想比较两个文件中的两列。

以下是一个例子:

1   722603  0.08    0.0013  0.0035  0.02
1   793227  0.17    0   0   0.01
2   931508  0.52    0.95    0.93    0.92

1   722603  0.0348543
1   793227  0.130642
2   931508  0.275751
2   1025859 0.0739543
2   1237036 0.476705

此代码比较两个文件的第二列:

 awk 'FNR==NR {a[$2]++; next} a[$2]' file 1 file 2

但是,如果第一列也相同,我想打印常见的第二列。更具体地说,如果它在两个文件中都找到722603,则必须检查第一列是否也等于1然后打印它。如果重复第二列中的数字,则使用不同的第1列值多次打印它是很重要的。

如果你能引导我完成这件事,我将非常感激,谢谢你。

1 个答案:

答案 0 :(得分:0)

像这样?扩展了你的代码:

awk 'FNR==NR {a[$1 FS $2]++; next} a[$1 FS $2]' file1 file2