连接特定列上两个文件的AWK

连接特定列上两个文件的AWK,awk,joincolumn,Awk,Joincolumn,我试图在其中一列上连接两个文件,输出应该是第二个文件的列和第一个文件的一些列 例如,我的第一个文件是: subscriberid Unsubscribe Time Unsubscribe IP listid Station unsubscribed 我的第二个文件是: listid statid listname所有者名称所有者邮件创建日期订阅ID bouncetype bouncetime BounceUrle 我需要在“statid”列中加入它们,第一个文件是第5列,第二个文件是第2列。然后

我试图在其中一列上连接两个文件,输出应该是第二个文件的列和第一个文件的一些列

例如,我的第一个文件是:

subscriberid Unsubscribe Time Unsubscribe IP listid Station unsubscribed

我的第二个文件是:

listid statid listname所有者名称所有者邮件创建日期订阅ID bouncetype bouncetime BounceUrle

我需要在“statid”列中加入它们,第一个文件是第5列,第二个文件是第2列。然后从第一个文件中添加第二、第三和第六列。输出应为:

listid statid listname ownername OwnerMail createdate订阅ID bouncetype bouncetime BounceUrle取消订阅时间取消订阅IP取消订阅

我无法理解语法,但我使用了以下命令:

awk 'NR==FNR{a[$5]=$2;next} $2 in a{print $0, a[$5]}' file1 file2
我以为它会给我file2列,因为“print$0”和第二列form file one设置为[$5]=$2,但它只输出file2列

请问我哪里出错了? 如何将第2列、第3列和第6列从文件1连接到文件2

非常感谢您的帮助/解释


本例中的两个文件都只有一行

我相信如果您看到这一点并仔细思考一下,您会发现:

$ awk 'NR==FNR{a[$5]=$2" "$3" "$6;next} $2 in a{print $0, a[$2]}' file1 file2
listid statid listname ownername owneremail createdate subscriberid bouncetype bouncetime bouncerule unsubscribetime unsubscribeip unsubscribed