比较2个不同文件的不同列,并在awk脚本中保留顺序

比较2个不同文件的不同列,并在awk脚本中保留顺序,awk,Awk,我正在尝试比较两个不同的文件,例如: 文件1: CALL AA CALL AB CALL AC 文件2: 00 AB n 01 AA o 02 AC o 我期望的结果是 输出: AA 01 o AB 00 n AC 02 o 如何在不更改第一个文件的顺序的情况下获得此文件?(最好是在awk中)提前感谢您。更改自 到 输出: AA 01 o AB 00 n AC 02 o 现在不带空列的输出: AA 01 o AB 00 n AC 02 o AA 01 o AB 00 n AC 02

我正在尝试比较两个不同的文件,例如:

文件1:

CALL AA
CALL AB
CALL AC
文件2:

00 AB n
01 AA o
02 AC o
我期望的结果是 输出:

AA 01 o
AB 00 n
AC 02 o
如何在不更改第一个文件的顺序的情况下获得此文件?(最好是在awk中)提前感谢您。

更改自

输出:

AA 01 o AB 00 n AC 02 o 现在不带空列的输出:

AA 01 o AB 00 n AC 02 o AA 01 o AB 00 n AC 02 o

参阅:

这可能会有帮助:谢谢你的回复,但是我不想在这里合并列,如果你看到我预期的输出,它只从2个文件中选择列,这里要考虑的主要问题是保持第一个文件中的顺序。从我的观点来看,你要寻找的是元素的合并。这就是为什么这是可能的(失去顺序):
join-j2我试过这个:awk'NR==FNR{a[$2]=$2;next}$2在一个{$1=$1fs a[$3];print}'file1 file2中。这给了我输出,但不是file1perfect中的顺序!非常感谢:)是的,我检查过了,我接受了答案,但不幸的是我不能投票(当我试着投票时,我明白了这一点:“谢谢你的反馈!那些声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数。”还有什么需要做的吗?
AA 01  o
AB 00  n
AC 02  o
awk 'NR==FNR {a[$2]=$2 FS $1 FS $3; next} {print a[$2]}' file2 file1
AA 01 o AB 00 n AC 02 o