Unix 如何检查两个文件之间的匹配
我有两个文本文件,每个文件有两列,每个列都有选项卡,我想找到它们之间的匹配项。这些文件的列顺序与我要检查的信息的顺序相反 文件1:Unix 如何检查两个文件之间的匹配,unix,awk,match,multiple-columns,Unix,Awk,Match,Multiple Columns,我有两个文本文件,每个文件有两列,每个列都有选项卡,我想找到它们之间的匹配项。这些文件的列顺序与我要检查的信息的顺序相反 文件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中列的顺序,并使用d
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中列的顺序,并使用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