ワンクリックで2つのファイルを結合して特定の列を選択する方法は?

ワンクリックで2つのファイルを結合して特定の列を選択する方法は?

使いたいファイルが2つありますawk。これはSQL Serverを使用して作成されました。

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

私が含めたいファイルは次のとおりです。

ファイル1:

ファイル2:

したがって、キーは列5 file1と列1 file2です。

awk言語で書くには?

あなたの助けは私がawkを学ぶのに非常に役立ちます。

答え1

一方通行:

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

-1 5- ファイル1の5列を使用してください。 -2 1- ファイル2の1列を使用します。 -o 1.1 2.2 - 最初のファイルの最初の列と2番目のファイルの2番目の列を出力するには印刷します。

答え2

awk好みのツールの場合

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

関連情報