2014-02-18 33 views
0

我想比較兩個文件。比較兩個文件,如果找到匹配項,則刪除一行

如果從file2值與的file1前兩列匹配需要從file1刪除整個線和打印結果爲output,如下所示。

下面包含的file1值:中file2

2,bplle 
4,tag 
5,Centurion 

1,aplle,melle,cyborg 
2,bplle,less,vgm 
3,minipl,vicy,bgm 
4,tag,mob,calic 
6,Centurion,sa,hh 

下面包含的價值觀和output必須包含如下:

1,aplle,melle,cyborg 
3,minipl,vicy,bgm 
6,Centurion,sa,hh 

是否有可能實現這一目標awk

+1

根據[awk的這種描述](http://en.wikipedia.org/wiki/AWK),是的,我會說這是可能的。 –

回答

1

這AWK應該工作:

awk -F, 'FNR==NR{a[$1,$2];next} !(($1,$2) in a)' file2 file1 
1,aplle,melle,cyborg 
3,minipl,vicy,bgm 
6,Centurion,sa,hh 
0

這也將工作:grep -Fwvf file2 file1

-F
解釋圖案作爲固定字符串列表,

-w
選擇只有那些包含構成整個單詞的匹配的行。

-v
反轉匹配的意義,選擇不匹配的行。

-f FILE
從FILE獲取模式,每行一個。

相關問題