天天看點

[Linux] 使用awk比較兩個檔案的内容

當需要比較A , B兩個檔案 , A檔案中存在 , 并且把也在B檔案中存在的行去除掉 , 可以使用這個awk的用法來

awk '{if(ARGIND==1) {val[$0]}else{if($0 in val) delete val[$0]}}END{for(i in val) print i}' A B

使用awk的同時處理多檔案功能,配合數組變量來進行處理

先掃描檔案A,把檔案A中的每行作為數組的key放入數組

再掃描檔案B,判斷B中的每行是否存在于數組中,如果存在就删除這個數組元素

最後統一列印數組中的key