求兩個文件的差集

需求

  • 有兩份格式一致的文件A和B,現在要求出A中有的,B中沒有的條目,也就是A-B

解決方案

  • 充分發揮linux命令的優勢,主要用到的是sort以及uniq命令
sort A B B | uniq -u
  • sort 函數會對數據進行排序,後邊可以接多個文件作爲參數
  • uniq -u,注意這個-u參數,這個表明只會打印出文件中只出現一次的條目,
  • 因爲sort A B B中出現了兩個B文件,那麼B文件中的條目肯定至少出現了兩次了,所以不會被輸出,爲什麼是至少兩次呢,因爲A文件中也可能有B文件中的條目,這些都會被過濾,不會輸出,所以輸出的肯定就是A文件中沒有出現在B文件的條目,也就是想要的A-B
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章