我有一个文本文件1,该文件1具有3列。第一列包含一个数字,第二个a单词(可以是像狗之类的刺,或者像1050之类的数字(,第三列是大写字母中的标签。我还有另一个具有2列的文本文件2。第一列有一个数字,第二列具有大写字母的标签。我想将文本文件1中的每个行与文本文件中的每个行进行比较。想要将数字存储在文本文件2中的文本文件1旁边的文本2中的数字1旁边的文本文件1旁边的数字1旁边。文本文件2中没有重复的标签,并且文本文件1中没有重复的单词。插图:
文本文件1
2 2737 HPL
32 hello PLS
3 world PLS
323 . OPS
文本文件2
342 HPL
56 PLS
342 DCC
4 OPS
我想要:
2 342 2737
32 56 hello
3 56 world
323 4 .
您可以在awk
中这样做:
awk 'FNR==NR { h[$2] = $1; next } $3 in h { print $1, h[$3], $2 }' file2 file1
第一部分将密钥和列从文件2中的密钥和列保存在关联数组(h
(中,第二部分将第3列从文件1比较此数组并打印相关的部分。