awk 命令處理兩份數據文件,依據id相同,篩選相同的數據

awk處理兩份數據文件,將擁有相同id的數據篩選出來。

  不久之前我領導部署給我一份任務,一份數據量百萬級的文件和另一份數據量百萬級的文件篩選擁有相同id的文件,這種數據量級別的文件靠WPS是無法完成的,電腦配置一般的話甚至打開文件都無法做到,所以我將兩份文件上傳到linux環境下,執行以下命令。

  文件1:shannxi.csv 3000行

  文件2:basepoi.csv 450000行

將文件1中的id字段在文件2中篩選出來

命令 : awk -F ',' 'NR==FNR{a[$1];next} {if($1 in a) {print $0}}' shannxi.csv basepoi.csv > new.csv

awk命令,文件格式要求shannxi.csv和basepoi.csv id字段都放在第一列 生成新文件new.csv,驗證一下文件new.csv文件數量級和shannxi.csv的數量級是否一致。

驗證命令:wc -l new.csv 

                  wc -l shannxi.csv

這種處理方式方便快捷,希望可以幫助到你

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章