awk比較檔案內容的差異

小亮520cl發表於2015-06-12
1.同時在file1和file2中的行 

點選(此處)摺疊或開啟

  1. awk '{if(ARGIND==1) {val[$0]}else{if($0 in val) print $0}}' file1 file2

2.只在file1中有的行.
  1. awk '{if(ARGIND==1) {val[$0]}else{if($0 in val) delete val[$0]}}END{for(i in val) print i}' file1 file2

其實也可以這樣:

點選(此處)摺疊或開啟

  1. awk 'ARGIND==1{a[$0]}ARGIND>1&&!($0 in a){print $0}' file1 file2

3.只在file2中有的行.

點選(此處)摺疊或開啟

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1697032/,如需轉載,請註明出處,否則將追究法律責任。

相關文章