Join 每个文件中的awk匹配/比较/2列(用于2个文件)

Join 每个文件中的awk匹配/比较/2列(用于2个文件),join,awk,compare,match,multiple-columns,Join,Awk,Compare,Match,Multiple Columns,在论坛上的多次发现之后,我仍然在努力打印我想要的2个文件的输出 我想将file1与file2匹配,并根据每个文件中的第1列和第2列将它们组合成一个文件。 (两个文件中的行均未排序);file1中的第5列和file2中的第3列不是用于匹配的键(但如果是必填项,也可以将其用作选项) 不确定是否最好的方法是通过awk从2个不同的文件夹循环执行,其中一个文件夹中有名为SITEA的文件;SITEB;SITEC等。。文件名信息来自文件1,与文件名信息来自文件2的第二个文件夹中命名的文件相同 不确定是否可以在

在论坛上的多次发现之后,我仍然在努力打印我想要的2个文件的输出

我想将file1与file2匹配,并根据每个文件中的第1列和第2列将它们组合成一个文件。 (两个文件中的行均未排序);file1中的第5列和file2中的第3列不是用于匹配的键(但如果是必填项,也可以将其用作选项)

不确定是否最好的方法是通过awk从2个不同的文件夹循环执行,其中一个文件夹中有名为SITEA的文件;SITEB;SITEC等。。文件名信息来自文件1,与文件名信息来自文件2的第二个文件夹中命名的文件相同

不确定是否可以在每个文件中添加不匹配的内容,以便打印word EMPTY并将其添加到所需的输出文件中

file1

SITEA 222 dummy dummy x8a7sdf dummyvalues dummyvalues
SITEA 357 dummy dummy x11x683 dummyvalues dummyvalues
SITEA 357 dummy dummy x11x69b dummyvalues dummyvalues
SITEA 357 dummy dummy x11x69d dummyvalues dummyvalues
SITEC 200 dummy dummy x11xdc1 dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6bc dummyvalues dummyvalues
SITEA 200 dummy dummy x11x305 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x323 dummyvalues dummyvalues
SITEA 357 dummy dummy x11x693 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x300 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x680 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x688 dummyvalues dummyvalues
SITEA 151 dummy dummy x87f777 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x68c dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33b dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf37 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x68e dummyvalues dummyvalues
SITEB 357 dummy dummy x11x694 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x6a5 dummyvalues dummyvalues
SITED 200 dummy dummy x11xdc0 dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf36 dummyvalues dummyvalues
SITEB 200 dummy dummy x11xffd dummyvalues dummyvalues
SITEA 200 dummy dummy x11x306 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x307 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x325 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x686 dummyvalues dummyvalues
SITEA 357 dummy dummy x11x680 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33c dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6be dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6ba dummyvalues dummyvalues
SITEB 200 dummy dummy x11xffe dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33e dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf00 dummyvalues dummyvalues
SITEB 357 dummy dummy x11x696 dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf1c dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf1e dummyvalues dummyvalues
SITEB 357 dummy dummy x11x69a dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf34 dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf35 dummyvalues dummyvalues
SITEB 200 dummy dummy x11xfff dummyvalues dummyvalues
SITEA 357 dummy dummy x11x681 dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33d dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33d dummyvalues dummyvalues
SITEA 100 dummy dummy x11x33d dummyvalues dummyvalues
文件2

SITEA 357 x11x683 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x33b dummyvalues dummyvalues dummyvalues
SITEA 357 x11x693 dummyvalues dummyvalues dummyvalues
SITEA 357 x11x680 dummyvalues dummyvalues dummyvalues
SITEA 357 x11x69b dummyvalues dummyvalues dummyvalues
SITEB 357 x11x686 dummyvalues dummyvalues dummyvalues
SITEB 357 x11x6a5 dummyvalues dummyvalues dummyvalues
SITEA 357 x11x69d dummyvalues dummyvalues dummyvalues
SITEB 200 x11xffd dummyvalues dummyvalues dummyvalues
SITEA 357 x11x6ba dummyvalues dummyvalues dummyvalues
SITEB 357 x11x680 dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf1c dummyvalues dummyvalues dummyvalues
SITEB 357 x11x68e dummyvalues dummyvalues dummyvalues
SITEB 357 x11x69a dummyvalues dummyvalues dummyvalues
SITEA 357 x11x681 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x33c dummyvalues dummyvalues dummyvalues
SITEB 357 x11x694 dummyvalues dummyvalues dummyvalues
SITEB 357 x11x696 dummyvalues dummyvalues dummyvalues
SITEC 200 x11xdc1 dummyvalues dummyvalues dummyvalues
SITEA 357 x11x6bc dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf37 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x325 dummyvalues dummyvalues dummyvalues
SITED 200 x11xdc0 dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf00 dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf36 dummyvalues dummyvalues dummyvalues
SITEA 357 x11x6be dummyvalues dummyvalues dummyvalues
SITEA 200 x11x33d dummyvalues dummyvalues dummyvalues
SITEA 200 x11x305 dummyvalues dummyvalues dummyvalues
SITEB 357 x11x688 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x33e dummyvalues dummyvalues dummyvalues
SITEB 200 x11xffe dummyvalues dummyvalues dummyvalues
SITEA 200 x11x300 dummyvalues dummyvalues dummyvalues
SITEB 200 x11xfff dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf1e dummyvalues dummyvalues dummyvalues
SITEA 200 x11x306 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x307 dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf35 dummyvalues dummyvalues dummyvalues
SITEB 357 x11x68c dummyvalues dummyvalues dummyvalues
SITEB 200 x11xf34 dummyvalues dummyvalues dummyvalues
SITEA 200 x11x323 dummyvalues dummyvalues dummyvalues
SITEB 45 a8d7f99 dummyvalues dummyvalues dummyvalues
SITEB 008 8sd7f77 dummyvalues dummyvalues dummyvalues
所需输出:

SITEA 357 dummy dummy x11x683 dummyvalues dummyvalues dummyvalues SITEA 357 x11x683 dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x69b dummyvalues dummyvalues dummyvalues SITEA 357 x11x69b dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x69d dummyvalues dummyvalues dummyvalues SITEA 357 x11x69d dummyvalues dummyvalues dummyvalues
SITEC 200 dummy dummy x11xdc1 dummyvalues dummyvalues dummyvalues SITEC 200 x11xdc1 dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6bc dummyvalues dummyvalues dummyvalues SITEA 357 x11x6bc dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x305 dummyvalues dummyvalues dummyvalues SITEA 200 x11x305 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x323 dummyvalues dummyvalues dummyvalues SITEA 200 x11x323 dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x693 dummyvalues dummyvalues dummyvalues SITEA 357 x11x693 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x300 dummyvalues dummyvalues dummyvalues SITEA 200 x11x300 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x680 dummyvalues dummyvalues dummyvalues SITEB 357 x11x680 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x688 dummyvalues dummyvalues dummyvalues SITEB 357 x11x688 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x68c dummyvalues dummyvalues dummyvalues SITEB 357 x11x68c dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33b dummyvalues dummyvalues dummyvalues SITEA 200 x11x33b dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf37 dummyvalues dummyvalues dummyvalues SITEB 200 x11xf37 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x68e dummyvalues dummyvalues dummyvalues SITEB 357 x11x68e dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x694 dummyvalues dummyvalues dummyvalues SITEB 357 x11x694 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x6a5 dummyvalues dummyvalues dummyvalues SITEB 357 x11x6a5 dummyvalues dummyvalues dummyvalues
SITED 200 dummy dummy x11xdc0 dummyvalues dummyvalues dummyvalues SITED 200 x11xdc0 dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf36 dummyvalues dummyvalues dummyvalues SITEB 200 x11xf36 dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xffd dummyvalues dummyvalues dummyvalues SITEB 200 x11xffd dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x306 dummyvalues dummyvalues dummyvalues SITEA 200 x11x306 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x307 dummyvalues dummyvalues dummyvalues SITEA 200 x11x307 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x325 dummyvalues dummyvalues dummyvalues SITEA 200 x11x325 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x686 dummyvalues dummyvalues dummyvalues SITEB 357 x11x686 dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x680 dummyvalues dummyvalues dummyvalues SITEA 357 x11x680 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33c dummyvalues dummyvalues dummyvalues SITEA 200 x11x33c dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6be dummyvalues dummyvalues dummyvalues SITEA 357 x11x6be dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x6ba dummyvalues dummyvalues dummyvalues SITEA 357 x11x6ba dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xffe dummyvalues dummyvalues dummyvalues SITEB 200 x11xffe dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33e dummyvalues dummyvalues dummyvalues SITEA 200 x11x33e dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf00 dummyvalues dummyvalues dummyvalues SITEB 200 x11xf00 dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x696 dummyvalues dummyvalues dummyvalues SITEB 357 x11x696 dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf1c dummyvalues dummyvalues dummyvalues SITEB 200 x11xf1c dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf1e dummyvalues dummyvalues dummyvalues SITEB 200 x11xf1e dummyvalues dummyvalues dummyvalues
SITEB 357 dummy dummy x11x69a dummyvalues dummyvalues dummyvalues SITEB 357 x11x69a dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf34 dummyvalues dummyvalues dummyvalues SITEB 200 x11xf34 dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xf35 dummyvalues dummyvalues dummyvalues SITEB 200 x11xf35 dummyvalues dummyvalues dummyvalues
SITEB 200 dummy dummy x11xfff dummyvalues dummyvalues dummyvalues SITEB 200 x11xfff dummyvalues dummyvalues dummyvalues
SITEA 357 dummy dummy x11x681 dummyvalues dummyvalues dummyvalues SITEA 357 x11x681 dummyvalues dummyvalues dummyvalues
SITEA 200 dummy dummy x11x33d dummyvalues dummyvalues dummyvalues SITEA 200 x11x33d dummyvalues dummyvalues dummyvalues
EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY SITEB 45 a8d7f99 dummyvalues dummyvalues dummyvalues
EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY SITEB 008 8sd7f77 dummyvalues dummyvalues dummyvalues
SITEA 151 dummy dummy x87f777 dummyvalues dummyvalues EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
SITEA 222 dummy dummy x8a7sdf dummyvalues dummyvalues EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
SITEA 200 dummy dummy x11x33d dummyvalues dummyvalues  EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
SITEA 100 dummy dummy x11x33d dummyvalues dummyvalues  EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
多谢各位

只有在我交换文件1中的列并将第5列放在第3列旁边的情况下,我才能部分使用这段代码

awk 'NR==FNR{
  if(FNR==1){print}
  a[$1 $2 $3]=$0
  next
}
a[$1 $2 $3]!=$0 && a[$1 $2 $3]!=""{
  print a[$1 $2 $3],$0
}'  
但是它也没有显示不匹配的线条

像这样的东西吗

awk 'NR==FNR {a[$1,$2,$5]=$0; next}
             {if(($1,$2,$3) in a) 
                {print a[$1,$2,$3],$0; delete a[$1,$2,$3]}
              else print "EMPTY",$0} 
     END     {for(k in a) print a[k], "EMPTY"} file1 file2
第一个文件包含$5部分的密钥,在存储值时使用它

如果您知道这两个文件中的字段数量,请添加正确数量的“空”填充符,否则也可以对其进行编码。为了简单起见,这里我省略了


文件2将指定输出的顺序。对于文件1中的条目,但文件2中缺少的条目,订单将不会保留,如果需要,需要额外的逻辑。

hi@karakfa,延迟一周后,我像这样管理这个
SITEA 222 x8a7sdf虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟虚拟=$0&&a[$1$2$3]~!“{print a[$1$2$3],$0}”filea fileb
但缺少打印输出的这一部分
SITEA 151虚拟虚拟x87f777 dummyvalues dummyvalues EMPTY EMPTY
将尝试重用部分代码和其他源代码,并在重新运行后将其发布到resultmy bad@karakfa,您的作品更好+1,根据需要添加多个空块,其作品类似于一个符咒,例如,
awk'NR==FNR{a[$1,$2,$5]=$0;next}{if($1,$2,$3)in a){print a[$1,$2,$3],$0;delete a[$1,$2,$3]}否则打印“EMPTY”,“EMPTY”,“0}END{for(k in a)打印a[k],“EMPTY”,“EMPTY”,“EMPTY”,“EMPTY”,“EMPTY”}'filea fileb
忽略了第5栏中您的部分