比较2个不同文件的不同列,并在awk脚本中保留顺序
我正在尝试比较两个不同的文件,例如: 文件1:比较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
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