Shell-Script
如何基於一個鍵加入 2 個文件並選擇某些特定列?
我有 2 個文件,想使用
awk
. 這是使用 sql server 編寫的:SELECT [file1.column1],[file2.column2] FROM file1 INNER JOIN file2 on file2.column1 = file1.column5;
這是我要加入的文件:
所以關鍵是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