2016-10-31 41 views
0

如何在運行第2列上匹配的兩個文件data1和data2的比較時從data1打印標題?我的代碼只打印數據行。標題是不同的名稱,所以我選擇用列位置如何使用AWK保留標題

awk -F, 'FNR==NR {a[$2]=$0; next}; $2 in a {print a[$2]}' /data1 /data2 > /data3.txt 
+0

看到[問]併發布失蹤[mcve]。 –

+0

我認爲$ 0是在這裏創建問題,如果您可以共享樣本輸入數據,則使用$ 0打印完整文件,這將很容易回答您的問題。 我能夠打印沒有NR == 1的標題行。使用以下命令 - awk'NR == FNR {location [$ 1] = $ NF;下一個 }; $ 8 in location {print $ 0,location [$ NF]}'dept emp EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO LOC 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 CHICAGO –

回答

0
$ awk -F, 'NR==1; FNR==NR{a[$2]=$0; next} ... 

將打印的第一個文件的第一行。如果你想跳過處理替換NR==1{print; next}