【发布时间】:2023-03-11 10:20:01
【问题描述】:
在论坛上多次发现之后,我仍然坚持打印我想要的 2 个文件的输出
我想将 file1 与 file2 匹配并根据每个文件中的第一列和第二列将它们组合成一个文件。 (两个文件中的行均未排序); file1 中的第 5 列和 file2 中的第 3 列不是匹配的键(但如果它是强制性的,它也可以用作选项)
不确定是否最好的方法是通过 awk 从 2 diff 循环执行。文件夹,其中一个文件夹中有名为 SITEA 的文件;网站; SITEC 等.. 来自 file1 的 FILENAME 信息和在第二个文件夹中命名的相同文件,其中 FILENAME 信息包含来自 file2 。
如果每个文件中包含不匹配的内容以打印单词 EMPTY 并将其添加到所需的输出文件,则不确定是否可以添加。
文件1
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
谢谢
只有在我将交换 file1 中的列并将第 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
}'
但它也没有显示不匹配的行
【问题讨论】:
标签: join awk compare match multiple-columns