2014-10-07 72 views
1

我有2個具有相同格式的csv文件。比較基於2個字段的2個文件並使用awk給出無與倫比的記錄

文件1:

account, desc, user, date 
123, savings, 777, 22092014 
234, current, 773, 22092014 
456, savings, 772, 22092014 

文件2:從文件

account, desc, user, date 
123, savings, 778, 22092014 
765, savings, 779, 22092014 

鍵是由兩個文件第1和第3場。輸出應該只是來自兩個文件的具有修改密鑰的記錄。用戶賬戶「123」在第二個文件中被更改。

我們只需要這個紀錄是輸出文件的一部分

123, savings, 778, 22092014 
+0

你說,關鍵的變化。其他所有領域必須相同嗎? – 2014-10-07 19:38:54

+0

我們不需要擔心除1和3以外的字段,儘管它們應該是輸出文件的一部分 – user3753986 2014-10-07 19:41:17

+0

帳戶是否可以更改或者只是用戶?如果賬戶可以改變,你怎麼知道賬戶和用戶是否都改變了? – alvits 2014-10-07 20:19:25

回答

1
awk 'NR==FNR {user[$1]=$3; next} $1 in user && user[$1] != $3' file1 file2 
123, savings, 778, 22092014 
+0

也許你可以解釋你的答案是如何工作的。它將允許其他用戶使用不同的用例來適應您的案例... – Tensibai 2014-10-08 09:20:26