如何根据一键连接2个文件并选择某些特定列?

如何根据一键连接2个文件并选择某些特定列?

我有 2 个文件,想使用awk.这是使用 sql server 编写的:

SELECT [file1.column1],[file2.column2] FROM file1
INNER JOIN file2 on file2.column1 = file1.column5;

这是我要加入的文件:

文件1:

文件2:

所以关键是column5 file1 和column1 file2。

如何用awk语言编写它们?

你的帮助将对我学习 awk 很有帮助。

答案1

单程:

join -t"|" -1 5 -2 1 -o 1.1 2.2 file1 file2

-1 5- 使用文件 1 的第 5 列 -2 1- 使用文件 2 的第一列 -o 1.1 2.2 - 打印为输出 第一个文件的第一列,第二个文件的第二列

答案2

如果awk是首选工具

awk -F'|' 'NR==FNR{id[$5]=0; next}{if ($1 in id) print $1, $2}' file1 file2

相关内容