Shell-Script

如何基於一個鍵加入 2 個文件並選擇某些特定列?

  • December 27, 2019

我有 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 很有用。

單程:

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

-1 5- 使用 file1 的第 5 列 -2 1- 使用 file2 的第 1 列 -o 1.1 2.2 - 輸出第 1 個文件的第 1 列,第 2 個文件的第 2 列

如果awk是首選工具

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

引用自:https://unix.stackexchange.com/questions/559102