2017-02-08 64 views
0

我有两个文本文件,每列带有两个标签,我想找到它们之间的匹配。这些文件具有相反顺序的列,以用于我要检查的信息。如何检查两个文件之间的匹配

文件1:

B.1  Av1 
Q7  G3 
Q9  S4 

文件2:

Av1  B.1 
G3  Q7  
S8  Q9 

输出应该是:

B.1  Av1  match 
Q7  G3  match 
Q9  S4  no match 

我知道,我可以改变文件中的列的顺序2,他们比较文件1使用diff或awk,但我想知道是否有一种更简单的方法来比较我所做的文件不需要更改列位置。

回答

1

您可以使用AWK不改变列的顺序:

$ awk 'NR==FNR {a[$1]; next} {printf "%s\t%s\n", $0, $2 in a ? "match" : "no match"}' file2 file1 
B.1  Av1 match 
Q7  G3  match 
Q9  S4  no match 
+0

谢谢!它工作得很好。 – Paul

相关问题